Issue #12251 has been reported by Daniel Doubrovkine.

----------------------------------------
Bug #12251: DelegateClass(OpenStruct) behavior in 2.3.0 different from 2.2
https://bugs.ruby-lang.org/issues/12251

* Author: Daniel Doubrovkine
* Status: Open
* Priority: Normal
* Assignee: 
* ruby -v: ruby 2.3.0p0 (2015-12-25 revision 53290) [x86_64-darwin15]
* Backport: 2.1: UNKNOWN, 2.2: UNKNOWN, 2.3: UNKNOWN
----------------------------------------
This came from https://github.com/ruby-grape/grape/issues/1348

~~~
require 'delegate'
require 'ostruct'

class AttributeTranslator < DelegateClass(OpenStruct)
  def initialize(attributes = {})
    ostruct = OpenStruct.new(attributes)
    super ostruct
  end
end

def namespace
  'foobar'
end

instance = AttributeTranslator.new(namespace: '/')
puts instance.namespace
~~~

Ruby 2.2.1

=> '/'

Ruby 2.3.0

=> 'foobar'

Halp?



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

Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>