Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

cut some duplication and minor edits [ci skip]

  • Loading branch information...
commit f31613a0312bfb2529d0ac262337cd7338cb868d 1 parent e8c9aec
@vijaydev vijaydev authored
View
41 activesupport/lib/active_support/core_ext/class/attribute_accessors.rb
@@ -2,37 +2,6 @@
# 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 @@ def #{sym}
# 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 @@ def #{sym}=(obj)
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
Please sign in to comment.
Something went wrong with that request. Please try again.