mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* lib: do not use __send__ to access private methods. [ruby-dev:26935]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9071 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
b6a9db5005
commit
f42208b70c
15 changed files with 54 additions and 46 deletions
|
@ -10,8 +10,8 @@ module RSS
|
|||
::RSS::ContentModel::ELEMENTS.each do |element|
|
||||
klass.add_need_initialize_variable(element)
|
||||
klass.add_other_element(element)
|
||||
klass.__send__(:attr_accessor, element)
|
||||
klass.module_eval(<<-EOC, __FILE__, __LINE__)
|
||||
klass.module_eval(<<-EOC, __FILE__, __LINE__+1)
|
||||
attr_accessor :#{element}
|
||||
def setup_#{element}(rss, current)
|
||||
if #{element} and current.respond_to?(:#{element}=)
|
||||
current.#{element} = @#{element} if @#{element}
|
||||
|
|
|
@ -18,8 +18,8 @@ module RSS
|
|||
klass.add_need_initialize_variable(full_plural_name,
|
||||
"make_#{full_plural_name}")
|
||||
klass.add_other_element(full_plural_name)
|
||||
klass.__send__(:attr_accessor, full_plural_name)
|
||||
klass.module_eval(<<-EOC, __FILE__, __LINE__)
|
||||
klass.module_eval(<<-EOC, __FILE__, __LINE__+1)
|
||||
attr_accessor :#{full_plural_name}
|
||||
def make_#{full_plural_name}
|
||||
#{full_plural_klass_name}.new(@maker)
|
||||
end
|
||||
|
|
|
@ -11,8 +11,8 @@ module RSS
|
|||
name = "#{RSS::IMAGE_PREFIX}_item"
|
||||
klass.add_need_initialize_variable(name, "make_#{name}")
|
||||
klass.add_other_element(name)
|
||||
klass.__send__(:attr_reader, name)
|
||||
klass.module_eval(<<-EOC, __FILE__, __LINE__)
|
||||
klass.module_eval(<<-EOC, __FILE__, __LINE__+1)
|
||||
attr_reader :#{name}
|
||||
def setup_#{name}(rss, current)
|
||||
if @#{name}
|
||||
@#{name}.to_rss(rss, current)
|
||||
|
@ -52,8 +52,8 @@ EOC
|
|||
name = "#{RSS::IMAGE_PREFIX}_favicon"
|
||||
klass.add_need_initialize_variable(name, "make_#{name}")
|
||||
klass.add_other_element(name)
|
||||
klass.__send__(:attr_reader, name)
|
||||
klass.module_eval(<<-EOC, __FILE__, __LINE__)
|
||||
klass.module_eval(<<-EOC, __FILE__, __LINE__+1)
|
||||
attr_reader :#{name}
|
||||
def setup_#{name}(rss, current)
|
||||
if @#{name}
|
||||
@#{name}.to_rss(rss, current)
|
||||
|
|
|
@ -10,8 +10,8 @@ module RSS
|
|||
::RSS::SyndicationModel::ELEMENTS.each do |element|
|
||||
klass.add_need_initialize_variable(element)
|
||||
klass.add_other_element(element)
|
||||
klass.__send__(:attr_accessor, element)
|
||||
klass.module_eval(<<-EOC, __FILE__, __LINE__)
|
||||
klass.module_eval(<<-EOC, __FILE__, __LINE__+1)
|
||||
attr_accessor :#{element}
|
||||
def setup_#{element}(rss, current)
|
||||
if #{element} and current.respond_to?(:#{element}=)
|
||||
current.#{element} = @#{element} if @#{element}
|
||||
|
|
|
@ -11,8 +11,8 @@ module RSS
|
|||
name = "#{RSS::TRACKBACK_PREFIX}_ping"
|
||||
klass.add_need_initialize_variable(name)
|
||||
klass.add_other_element(name)
|
||||
klass.__send__(:attr_accessor, name)
|
||||
klass.module_eval(<<-EOC, __FILE__, __LINE__)
|
||||
klass.module_eval(<<-EOC, __FILE__, __LINE__+1)
|
||||
attr_accessor :#{name}
|
||||
def setup_#{name}(rss, current)
|
||||
if #{name} and current.respond_to?(:#{name}=)
|
||||
current.#{name} = #{name}
|
||||
|
@ -23,8 +23,8 @@ module RSS
|
|||
name = "#{RSS::TRACKBACK_PREFIX}_abouts"
|
||||
klass.add_need_initialize_variable(name, "make_#{name}")
|
||||
klass.add_other_element(name)
|
||||
klass.__send__(:attr_accessor, name)
|
||||
klass.module_eval(<<-EOC, __FILE__, __LINE__)
|
||||
klass.module_eval(<<-EOC, __FILE__, __LINE__+1)
|
||||
attr_accessor :#{name}
|
||||
def make_#{name}
|
||||
self.class::TrackBackAbouts.new(self)
|
||||
end
|
||||
|
|
|
@ -409,7 +409,7 @@ module RSS
|
|||
next_element.do_validate = @do_validate
|
||||
prefix = ""
|
||||
prefix << "#{klass.required_prefix}_" if klass.required_prefix
|
||||
previous.__send__(:set_next_element, prefix, tag_name, next_element)
|
||||
previous.instance_eval {set_next_element(prefix, tag_name, next_element)}
|
||||
@last_element = next_element
|
||||
@proc_stack.push Proc.new { |text, tags|
|
||||
p(@last_element.class) if DEBUG
|
||||
|
|
|
@ -659,7 +659,7 @@ EOC
|
|||
if parent.respond_to?(plural_name)
|
||||
target = parent.__send__(plural_name)
|
||||
__send__(plural_name).each do |elem|
|
||||
elem.__send__("setup_maker", target)
|
||||
elem.setup_maker(target)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -38,7 +38,7 @@ module RSS
|
|||
super
|
||||
|
||||
unless klass.class == Module
|
||||
klass.__send__(:include, TrackBackUtils)
|
||||
klass.module_eval {include TrackBackUtils}
|
||||
|
||||
%w(ping).each do |name|
|
||||
var_name = "#{TRACKBACK_PREFIX}_#{name}"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue