Privatize config_accessor as with attr_accessor

This commit is contained in:
Akira Matsuda 2015-01-20 21:03:27 +09:00
parent 63f959d21b
commit c2bfe6cbc8
3 changed files with 13 additions and 0 deletions

View File

@ -1,3 +1,7 @@
* config_accessor became a private method, as with Ruby's attr_accessor.
*Akira Matsuda*
* `AS::Testing::TimeHelpers#travel_to` now changes `DateTime.now` as well as
`Time.now` and `Date.today`.

View File

@ -122,6 +122,7 @@ module ActiveSupport
send("#{name}=", yield) if block_given?
end
end
private :config_accessor
end
# Reads and writes attributes from a configuration <tt>OrderedHash</tt>.

View File

@ -111,6 +111,14 @@ class ConfigurableActiveSupport < ActiveSupport::TestCase
end
end
test 'the config_accessor method should not be publicly callable' do
assert_raises NoMethodError do
Class.new {
include ActiveSupport::Configurable
}.config_accessor :foo
end
end
def assert_method_defined(object, method)
methods = object.public_methods.map(&:to_s)
assert methods.include?(method.to_s), "Expected #{methods.inspect} to include #{method.to_s.inspect}"