> On Aug 2, 2017, at 7:27 PM, zubin <zubin.hen...@gmail.com> 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.

Reply via email to