Thanks, I didn't know about with_extend that gets me a little further in understanding. I take it that modules that Datasets include/extend are no longer supposed to modify their own instance variables, etc, used for house keeping.
I think I'll need to change things up a bit and perhaps do everything on Sequel::Model instead of Dataset On Thursday, 19 October 2017 16:10:38 UTC-10, Jeremy Evans wrote: > > On Thursday, October 19, 2017 at 6:41:10 PM UTC-7, Kawika wrote: >> >> Prior to 5.0 we were able to mutate datasets which I took advantage of >> for a custom paging gem to pass data along to a view. Basically at some >> point doing the following when querying >> >> ds.extend(MyModule) >> >> Where ds is a Sequel::Dataset after however many filter chains. Before I >> re-author my approach (which was generalized for Sequel and ActiveRecord, >> so I kind of like it as-is) is there an alternative/recommended way mutute >> datasets or otherwise hitch data to a dataset? >> > > No, mutating of datasets is no longer supported. You can kind of fake it > in ruby <2.4, but on ruby 2.4+ they really are frozen. If you just want to > apply a module to a dataset, you can do: > > ds = ds.with_extend(MyModule) > > This will not work if your API takes a dataset/relation and does not > return a value. You'll need to change your API to return the > dataset/relation to use in that case. > > Thanks, > Jeremy > -- You received this message because you are subscribed to the Google Groups "sequel-talk" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/sequel-talk. For more options, visit https://groups.google.com/d/optout.
