mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
Merge pull request #18610 from amatsuda/privatize_config_accessor
config_accessor should better not be a public method, as with Ruby's attr_accessor
This commit is contained in:
commit
4ca1dda0bf
3 changed files with 13 additions and 0 deletions
|
@ -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`.
|
||||
|
||||
|
|
|
@ -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>.
|
||||
|
|
|
@ -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}"
|
||||
|
|
Loading…
Reference in a new issue