aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/test/core_ext/class
diff options
context:
space:
mode:
authorDavid Heinemeier Hansson <david@loudthinking.com>2017-05-29 18:01:50 +0200
committerGitHub <noreply@github.com>2017-05-29 18:01:50 +0200
commit1c275d812f35f53f93cd96184a4f319983766cc5 (patch)
treeb063afeb12dd369f358ad18517e5e8915455df0e /activesupport/test/core_ext/class
parentedc90c858d4cbf1a8e4bfb7347b34348bb30e92c (diff)
downloadrails-1c275d812f35f53f93cd96184a4f319983766cc5.tar.gz
rails-1c275d812f35f53f93cd96184a4f319983766cc5.tar.bz2
rails-1c275d812f35f53f93cd96184a4f319983766cc5.zip
Add option for class_attribute default (#29270)
* Allow a default value to be declared for class_attribute * Convert to using class_attribute default rather than explicit setter * Removed instance_accessor option by mistake * False is a valid default value * Documentation
Diffstat (limited to 'activesupport/test/core_ext/class')
-rw-r--r--activesupport/test/core_ext/class/attribute_test.rb10
1 files changed, 9 insertions, 1 deletions
diff --git a/activesupport/test/core_ext/class/attribute_test.rb b/activesupport/test/core_ext/class/attribute_test.rb
index 5a9ec78cc1..f16043c612 100644
--- a/activesupport/test/core_ext/class/attribute_test.rb
+++ b/activesupport/test/core_ext/class/attribute_test.rb
@@ -3,7 +3,11 @@ require "active_support/core_ext/class/attribute"
class ClassAttributeTest < ActiveSupport::TestCase
def setup
- @klass = Class.new { class_attribute :setting }
+ @klass = Class.new do
+ class_attribute :setting
+ class_attribute :timeout, default: 5
+ end
+
@sub = Class.new(@klass)
end
@@ -12,6 +16,10 @@ class ClassAttributeTest < ActiveSupport::TestCase
assert_nil @sub.setting
end
+ test "custom default" do
+ assert_equal 5, @klass.timeout
+ end
+
test "inheritable" do
@klass.setting = 1
assert_equal 1, @sub.setting