aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--activesupport/lib/active_support/core_ext/class/attribute_accessors.rb41
1 files changed, 4 insertions, 37 deletions
diff --git a/activesupport/lib/active_support/core_ext/class/attribute_accessors.rb b/activesupport/lib/active_support/core_ext/class/attribute_accessors.rb
index 8b41b10c32..fa1dbfdf06 100644
--- a/activesupport/lib/active_support/core_ext/class/attribute_accessors.rb
+++ b/activesupport/lib/active_support/core_ext/class/attribute_accessors.rb
@@ -2,37 +2,6 @@ require 'active_support/core_ext/array/extract_options'
# Extends the class object with class and instance accessors for class attributes,
# just like the native attr* accessors for instance attributes.
-#
-# Note that unlike +class_attribute+, if a subclass changes the value then that would
-# also change the value for parent class. Similarly if parent class changes the value
-# then that would change the value of subclasses too.
-#
-# class Person
-# cattr_accessor :hair_colors
-# end
-#
-# Person.hair_colors = [:brown, :black, :blonde, :red]
-# Person.hair_colors # => [:brown, :black, :blonde, :red]
-# Person.new.hair_colors # => [:brown, :black, :blonde, :red]
-#
-# class Female < Person
-# end
-#
-# Female.hair_colors << :pink
-# Female.hair_colors # => [:brown, :black, :blonde, :red, :pink]
-# Female.new.hair_colors # => [:brown, :black, :blonde, :red, :pink]
-# Person.hair_colors # => [:brown, :black, :blonde, :red, :pink]
-#
-# To opt out of the instance writer method, pass :instance_writer => false.
-# To opt out of the instance reader method, pass :instance_reader => false.
-# To opt out of both instance methods, pass :instance_accessor => false.
-#
-# class Person
-# cattr_accessor :hair_colors, :instance_writer => false, :instance_reader => false
-# end
-#
-# Person.new.hair_colors = [:brown] # => NoMethodError
-# Person.new.hair_colors # => NoMethodError
class Class
# Defines a class attribute if it's not defined and creates a reader method that
# returns the attribute value.
@@ -45,15 +14,14 @@ class Class
# Person.hair_colors # => [:brown, :black]
# Person.new.hair_colors # => [:brown, :black]
#
- # The attribute name must be any word character starting with a letter or underscore
- # and without spaces.
+ # The attribute name must be a valid method name in Ruby.
#
# class Person
# cattr_reader :"1_Badname "
# end
# # => NameError: invalid attribute name
#
- # If you want to opt out the instance writer method, pass <tt>instance_reader: false</tt>
+ # If you want to opt out the instance reader method, you can pass <tt>instance_reader: false</tt>
# or <tt>instance_accessor: false</tt>.
#
# class Person
@@ -97,8 +65,7 @@ class Class
# Person.new.hair_colors = [:blonde, :red]
# Person.class_variable_get("@@hair_colors") # => [:blonde, :red]
#
- # The attribute name must be any word character starting with a letter or underscore
- # and without spaces.
+ # The attribute name must be a valid method name in Ruby.
#
# class Person
# cattr_writer :"1_Badname "
@@ -148,7 +115,7 @@ class Class
end
end
- # Defines class and instance accessors for class attributes.
+ # Defines both class and instance accessors for class attributes.
#
# class Person
# cattr_accessor :hair_colors