aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/lib/active_support
diff options
context:
space:
mode:
authorCarlos Antonio da Silva <carlosantoniodasilva@gmail.com>2012-06-24 14:15:57 -0700
committerCarlos Antonio da Silva <carlosantoniodasilva@gmail.com>2012-06-24 14:15:57 -0700
commitdf640f99dc24b01d61f9273d70f53a1d20cc9672 (patch)
treed947318a2208d99f7a1d2a7c03c735d1559fd3a8 /activesupport/lib/active_support
parent8635f6a465969624af132e4087b190ef30b3112b (diff)
parent008023c29a1dcc1b9f210dc117f8932bd708fb90 (diff)
downloadrails-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/lib/active_support')
-rw-r--r--activesupport/lib/active_support/configurable.rb12
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