了解这个rspec gem是如何工作的

时间:2013-03-07 22:44:29

标签: ruby rspec

我试图让这个宝石工作,但没有太多运气。虽然这与傀儡有关,但我希望不是我的问题。

我想了解以下:rspec if语句暗示的内容:

module RSpecHieraPuppet
  module HieraDefaultConfiguration
    extend RSpec::SharedContext
    let(:hiera_config) do
      { :backends => ['rspec'],
        :rspec => respond_to?(:hiera_data) ? hiera_data : {} } # this one
    end
  end
end

来源:https://github.com/amfranz/rspec-hiera-puppet/blob/master/lib/rspec-hiera-puppet/rspec.rb

有人可以澄清一下? hiera_data的含义吗?我似乎无法在gem的源代码中找到它的任何引用。

我的理解是,从gem的示例用法来看,响应是在示例响应中观察触发器:

let(:hiera_data) do
  {  
    :key123  => ['abc'],
  }
end

但我似乎无法追踪它触发后会发生什么,因为我没有看到与负责处理此事件的rspec_backend.rb文件的任何连接。

任何帮助追踪此处的电话都将受到赞赏。 (gem只有3个文件可供使用)

1 个答案:

答案 0 :(得分:0)

似乎你已经定义了一个

let(:hiera_data) { {:key => 'value'} }

这将是:rspec键的值。那是因为在这种情况下,范围内的对象响应hiera_data。否则,该值将为{}。

有关respond_to语法的信息? read here

我认为这就是你所要求的。

相关问题