Project

General

Profile

Bug #12251

DelegateClass(OpenStruct) behavior in 2.3.0 different from 2.2

Added by dblock (Daniel Doubrovkine) over 3 years ago.

Status:
Open
Priority:
Normal
Assignee:
-
Target version:
-
ruby -v:
ruby 2.3.0p0 (2015-12-25 revision 53290) [x86_64-darwin15]
[ruby-core:74822]

Description

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?


Related issues

Related to Ruby master - Bug #12136: OpenStruct.new(format: :bar).send :format # => too few argumentsOpenActions

History

#1

Updated by marcandre (Marc-Andre Lafortune) over 3 years ago

  • Related to Bug #12136: OpenStruct.new(format: :bar).send :format # => too few arguments added

Also available in: Atom PDF