diff options
author | Carlos Antonio da Silva <carlosantoniodasilva@gmail.com> | 2012-05-21 13:43:36 -0700 |
---|---|---|
committer | Carlos Antonio da Silva <carlosantoniodasilva@gmail.com> | 2012-05-21 13:43:36 -0700 |
commit | f260dc53be27448d9052098369d31d8ecd626839 (patch) | |
tree | bdd7b56cecaa1ac210ba4fa46643bc010d411685 /activesupport/lib | |
parent | 776ea1090fb9ba4353035d4983cf1926a67b3294 (diff) | |
parent | e4569b50d1d20f52633a3fe036014acd5117fa73 (diff) | |
download | rails-f260dc53be27448d9052098369d31d8ecd626839.tar.gz rails-f260dc53be27448d9052098369d31d8ecd626839.tar.bz2 rails-f260dc53be27448d9052098369d31d8ecd626839.zip |
Merge pull request #5156 from avakhov/class-attribute-instance-accessor
Add instance_accessor option to class_attribute
Diffstat (limited to 'activesupport/lib')
-rw-r--r-- | activesupport/lib/active_support/core_ext/class/attribute.rb | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/activesupport/lib/active_support/core_ext/class/attribute.rb b/activesupport/lib/active_support/core_ext/class/attribute.rb index c64685a694..7b6f8ab0a1 100644 --- a/activesupport/lib/active_support/core_ext/class/attribute.rb +++ b/activesupport/lib/active_support/core_ext/class/attribute.rb @@ -65,10 +65,12 @@ class Class # To opt out of the instance writer method, pass :instance_writer => false. # # object.setting = false # => NoMethodError + # + # To opt out of both instance methods, pass :instance_accessor => false. def class_attribute(*attrs) options = attrs.extract_options! - instance_reader = options.fetch(:instance_reader, true) - instance_writer = options.fetch(:instance_writer, true) + instance_reader = options.fetch(:instance_accessor, true) && options.fetch(:instance_reader, true) + instance_writer = options.fetch(:instance_accessor, true) && options.fetch(:instance_writer, true) attrs.each do |name| class_eval <<-RUBY, __FILE__, __LINE__ + 1 |