Skip to content

Commit

Permalink
Merge remote branch 'docrails/master'
Browse files Browse the repository at this point in the history
  • Loading branch information
fxn committed Aug 5, 2010
2 parents 1ca18a6 + 02e711b commit d62700f
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 1 deletion.
3 changes: 2 additions & 1 deletion activesupport/lib/active_support/callbacks.rb
Expand Up @@ -526,7 +526,8 @@ def reset_callbacks(symbol)
# This macro accepts the following options:
#
# * <tt>:terminator</tt> - Indicates when a before filter is considered
# to be halted.
# to halted. This is a string to be eval'ed and has the result of the
# very filter available in the <tt>result</tt> variable:
#
# define_callbacks :validate, :terminator => "result == false"
#
Expand Down
Expand Up @@ -5,13 +5,35 @@
module ClassInheritableAttributes # :nodoc:
end

# It is recommend to use <tt>class_attribute</tt> over methods defined in this file. Please
# refer to documentation for <tt>class_attribute</tt> for more information. Officially it is not
# deprected but <tt>class_attribute</tt> is faster.
#
# Allows attributes to be shared within an inheritance hierarchy. Each descendant gets a copy of
# their parents' attributes, instead of just a pointer to the same. This means that the child can add elements
# to, for example, an array without those additions being shared with either their parent, siblings, or
# children. This is unlike the regular class-level attributes that are shared across the entire hierarchy.
#
# The copies of inheritable parent attributes are added to subclasses when they are created, via the
# +inherited+ hook.
#
# class Person
# class_inheritable_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]
#
# To opt out of the instance writer method, pass :instance_writer => false.
# To opt out of the instance reader method, pass :instance_reader => 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 # :nodoc:
def class_inheritable_reader(*syms)
options = syms.extract_options!
Expand Down

0 comments on commit d62700f

Please sign in to comment.