我在尝试创建具有与 OpenStruct 实例方法之一同名的属性的开放结构时遇到了问题。具体来说,我想创建一个具有属性的开放结构capture
。我在 rspec 测试中使用它作为存根,所以我不能更改方法的名称(它必须是capture
)
#=> OpenStruct.new(capture: true).capture
#=> ArgumentError: wrong number of arguments (0 for 1)
查看 OpenStruct 方法,它有一个方法capture
,并且正是这个方法被调用。有没有办法用与其方法之一同名的属性来实例化一个开放结构?
为清楚起见,我特别需要方法捕获,我已经确认在 rails 4.0.x 但不是 rails 5 上有中断,但这种情况适用于 openstruct 可能具有的任何方法。
#=> OpenStruct.new(class: true).class
#=> OpenStruct