diff options
author | Carlos Antonio da Silva <carlosantoniodasilva@gmail.com> | 2012-06-24 14:15:57 -0700 |
---|---|---|
committer | Carlos Antonio da Silva <carlosantoniodasilva@gmail.com> | 2012-06-24 14:15:57 -0700 |
commit | df640f99dc24b01d61f9273d70f53a1d20cc9672 (patch) | |
tree | d947318a2208d99f7a1d2a7c03c735d1559fd3a8 /activesupport | |
parent | 8635f6a465969624af132e4087b190ef30b3112b (diff) | |
parent | 008023c29a1dcc1b9f210dc117f8932bd708fb90 (diff) | |
download | rails-df640f99dc24b01d61f9273d70f53a1d20cc9672.tar.gz rails-df640f99dc24b01d61f9273d70f53a1d20cc9672.tar.bz2 rails-df640f99dc24b01d61f9273d70f53a1d20cc9672.zip |
Merge pull request #6847 from benolee/patch-1
Correct line numbers for reader and writer methods in AS configurable
The line number for the reader method is off by one due to the local variable line being reassigned to the writer's line.
This commit would provide correct line numbers for backtraces and method introspection (for example, method(:reader).source_location).
Diffstat (limited to 'activesupport')
-rw-r--r-- | activesupport/lib/active_support/configurable.rb | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/activesupport/lib/active_support/configurable.rb b/activesupport/lib/active_support/configurable.rb index 4fb8c7af3f..307ae40398 100644 --- a/activesupport/lib/active_support/configurable.rb +++ b/activesupport/lib/active_support/configurable.rb @@ -98,15 +98,15 @@ module ActiveSupport names.each do |name| raise NameError.new('invalid config attribute name') unless name =~ /^[_A-Za-z]\w*$/ - reader, line = "def #{name}; config.#{name}; end", __LINE__ - writer, line = "def #{name}=(value); config.#{name} = value; end", __LINE__ + reader, reader_line = "def #{name}; config.#{name}; end", __LINE__ + writer, writer_line = "def #{name}=(value); config.#{name} = value; end", __LINE__ - singleton_class.class_eval reader, __FILE__, line - singleton_class.class_eval writer, __FILE__, line + singleton_class.class_eval reader, __FILE__, reader_line + singleton_class.class_eval writer, __FILE__, writer_line unless options[:instance_accessor] == false - class_eval reader, __FILE__, line unless options[:instance_reader] == false - class_eval writer, __FILE__, line unless options[:instance_writer] == false + class_eval reader, __FILE__, reader_line unless options[:instance_reader] == false + class_eval writer, __FILE__, writer_line unless options[:instance_writer] == false end end end |