That's definitely an option (nice two-liner btw) but I'd rather not have to do that in every app (I'm using JSONB columns more and more these days).
Since there's `attr_accessor` and `attr_reader`, is it not reasonable to have `store_reader` alongside `store_accessor`? On Friday, 4 August 2017 02:59:52 UTC+10, Matt Jones wrote: > > > On Aug 2, 2017, at 7:27 PM, zubin <zubin....@gmail.com <javascript:>> > wrote: > > Hello, > > I'd like to propose this feature: > > Like `attr_reader`, I'd like to see a `store_reader` AR class method which > adds store getter methods. > > Why? Consider this: > > class User < ActiveRecord::Base > store_accessor :data, :name > end > > > user = User.new(name: "John Doe", data: {fav_tv_show: "Twin Peaks"}) > user.name #=> nil > user.data #=> {"fav_tv_show" => "Twin Peaks"} > > To avoid this, I'd like the opportunity to force writing without the store > setter method while providing the convenience store getter method. > > Would this addition be considered? If so, I'm happy to work on it. > > > You could write this with `store_accessor` already: > > def self.store_reader(store_attribute, *keys) > store_accessor(store_attribute, *keys) > keys.each { |k| undef_method(“#{k}=") } > end > > Or swap in “private” for “undef_method” if you want to use the setters > internally. > > —Matt Jones > -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Core" group. To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-core+unsubscr...@googlegroups.com. To post to this group, send email to rubyonrails-core@googlegroups.com. Visit this group at https://groups.google.com/group/rubyonrails-core. For more options, visit https://groups.google.com/d/optout.