Issue #11005 has been reported by Happy GaGa.

----------------------------------------
Bug #11005: why block bind can not be in my_method2
https://bugs.ruby-lang.org/issues/11005

* Author: Happy GaGa
* Status: Open
* Priority: Normal
* Assignee: 
* ruby -v: 2.1.2, 2.2.1
* Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN
----------------------------------------
class MyClass
  def my_method1
    nice_name = "Lucy"
    @proc = lambda {|say| "#{say}, #{nice_name}"}
    nice_name = "Sophy"
    puts @proc.call 'Hi' # => Hi, Sophy

    nice_name = "Oleg"
    puts @proc.call 'Hi' # => Hi, Oleg
  end

  def my_method2
    nice_name = 'Han'  
    puts @proc.call 'Hey' # => Hey, Oleg **#Expect is "Hey, Han"**** 
  end
end

obj = MyClass.new
obj.my_method1 
obj.my_method2



-- 
https://bugs.ruby-lang.org/