From 48d94b9090384f766d10ba2150bc9a2876d1d84d Mon Sep 17 00:00:00 2001 From: Marc-Andre Lafortune Date: Sat, 16 Apr 2011 17:26:52 -0400 Subject: [PATCH] Use instance variable directly to avoid creating private methods --- lib/backports/1.9.1/proc.rb | 7 ++----- lib/backports/tools.rb | 4 ++-- 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/lib/backports/1.9.1/proc.rb b/lib/backports/1.9.1/proc.rb index 26b5f02b..ba6f9cf9 100644 --- a/lib/backports/1.9.1/proc.rb +++ b/lib/backports/1.9.1/proc.rb @@ -2,17 +2,14 @@ class Proc # Standard in Ruby 1.9. See official documentation[http://ruby-doc.org/core-1.9/classes/Proc.html] def lambda? - !!is_lambda + !!@is_lambda end - - attr_accessor :is_lambda - private :is_lambda, :is_lambda= end class Method def to_proc_with_lambda_tracking proc = to_proc_without_lambda_tracking - proc.send :is_lambda=, true + proc.instance_variable_set :@is_lambda, true proc end Backports.alias_method_chain self, :to_proc, :lambda_tracking diff --git a/lib/backports/tools.rb b/lib/backports/tools.rb index a0799aab..160659e4 100644 --- a/lib/backports/tools.rb +++ b/lib/backports/tools.rb @@ -177,9 +177,9 @@ def self.alias_method(mod, new_name, old_name) # Used internally to propagate #lambda? def self.track_lambda(from, to, default = false) - is_lambda = from.send :is_lambda + is_lambda = from.instance_variable_get :@is_lambda is_lambda = default if is_lambda.nil? - to.send :is_lambda=, is_lambda + to.instance_variable_set :@is_lambda, is_lambda to end