aboutsummaryrefslogtreecommitdiffstats
path: root/railties/guides/source
diff options
context:
space:
mode:
authorMikel Lindsaar <raasdnil@gmail.com>2010-02-02 13:30:08 +1100
committerMikel Lindsaar <raasdnil@gmail.com>2010-02-02 13:30:08 +1100
commit535ae3b946b387af7eb6cb4bb4aed3d5cac1cf81 (patch)
treedcbd2acf8e83493eea719bf0a0c51a9c121bf194 /railties/guides/source
parent49a26c533366eff63acd3c99ed0dffc04f85f55c (diff)
parent9b5dae7af5757769c1e69d74a59ff036adc1f30f (diff)
downloadrails-535ae3b946b387af7eb6cb4bb4aed3d5cac1cf81.tar.gz
rails-535ae3b946b387af7eb6cb4bb4aed3d5cac1cf81.tar.bz2
rails-535ae3b946b387af7eb6cb4bb4aed3d5cac1cf81.zip
Merge branch 'master' of github.com:lifo/docrails
Diffstat (limited to 'railties/guides/source')
-rw-r--r--railties/guides/source/active_support_core_extensions.textile37
-rw-r--r--railties/guides/source/layout.html.erb2
-rw-r--r--railties/guides/source/rails_application_templates.textile2
3 files changed, 38 insertions, 3 deletions
diff --git a/railties/guides/source/active_support_core_extensions.textile b/railties/guides/source/active_support_core_extensions.textile
index 562bc76135..fb4c42f118 100644
--- a/railties/guides/source/active_support_core_extensions.textile
+++ b/railties/guides/source/active_support_core_extensions.textile
@@ -496,7 +496,42 @@ The class method +delegate+
h3. Extensions to +Class+
-h4. Class Attribute Accessors
+h4. Class Attributes
+
+The method +Class#class_attribute+ declares one or more inheritable class attributes that can be overriden at any level down the hierarchy:
+
+<ruby>
+class A
+ class_attribute :x
+end
+
+class B < A; end
+
+class C < B; end
+
+A.x = :a
+B.x # => :a
+C.x # => :a
+
+B.x = :b
+A.x # => :a
+C.x # => :b
+
+C.x = :c
+A.x # => :a
+B.x # => :b
+</ruby>
+
+For example that's the way the +allow_forgery_protection+ flag is implemented for controllers:
+
+<ruby>
+class_attribute :allow_forgery_protection
+self.allow_forgery_protection = true
+</ruby>
+
+For convenience +class_attribute+ defines also a predicate, so that declaration also generates +allow_forgery_protection?+. Such predicate returns the double boolean negation of the value.
+
+NOTE: Defined in +active_support/core_ext/class/attribute.rb+
The macros +cattr_reader+, +cattr_writer+, and +cattr_accessor+ are analogous to their +attr_*+ counterparts but for classes. They initialize a class variable to +nil+ unless it already exists, and generate the corresponding class methods to access it:
diff --git a/railties/guides/source/layout.html.erb b/railties/guides/source/layout.html.erb
index 7dfcf4a507..5f324ece60 100644
--- a/railties/guides/source/layout.html.erb
+++ b/railties/guides/source/layout.html.erb
@@ -87,7 +87,7 @@
<div id="container">
<div class="wrapper">
<div id="mainCol">
- <%= yield.html_safe! %>
+ <%= yield.html_safe %>
</div>
</div>
</div>
diff --git a/railties/guides/source/rails_application_templates.textile b/railties/guides/source/rails_application_templates.textile
index fc178fa44b..579b1a5538 100644
--- a/railties/guides/source/rails_application_templates.textile
+++ b/railties/guides/source/rails_application_templates.textile
@@ -88,7 +88,7 @@ Please note that you need to +git :init+ before you can install a plugin as a su
Or use plain old SVN :
<ruby>
-plugin 'wtfsvn', :svn => 'svn://crap.com/wtf/trunk'
+plugin 'usingsvn', :svn => 'svn://example.com/usingsvn/trunk'
</ruby>
h4. vendor/lib/file/initializer(filename, data = nil, &block)