Module: Specinfra::Helper::Configuration

Defined in:
lib/specinfra/helper/configuration.rb

Instance Method Summary collapse

Instance Method Details

#build_configurationsObject

You can create a set of configurations provided to all specs in your spec_helper:

RSpec.configure { |c| c.pre_command = "source ~/.zshrc" }

Any configurations you provide with ‘let(:option_name)` in a spec will automatically be merged on top of the configurations.

Examples:


describe 'Gem' do
  let(:pre_command) { "source ~/.zshrc" }

  %w(pry awesome_print bundler).each do |p|
    describe package(p) do
      it { should be_installed.by('gem') }
    end
  end
end


29
30
31
32
33
34
35
36
37
38
39
# File 'lib/specinfra/helper/configuration.rb', line 29

def build_configurations
  Specinfra::Configuration.defaults.keys.each do |c|
    if self.respond_to?(c.to_sym)
      value = self.send(c)
    else
      value = RSpec.configuration.send(c) if defined?(RSpec)
    end
    next if c == :lxc && defined?(Serverspec::Type::Lxc) && value.is_a?(Serverspec::Type::Lxc)
    Specinfra::Configuration.instance_variable_set("@#{c}", value)
  end
end

#subjectObject



4
5
6
7
8
9
# File 'lib/specinfra/helper/configuration.rb', line 4

def subject
  example = RSpec.respond_to?(:current_example) ? RSpec.current_example : self.example
  example.[:subject] = described_class
  build_configurations
  super
end