Class: PuppetfileFixturesGenerator::Fixtures

Inherits:
Object
  • Object
show all
Defined in:
lib/puppetfile_fixtures_generator/fixtures.rb

Overview

Giant hack of a class because puppetlabs_spec_helper doesn’t have a good library implmentation to read .fixtures.yml. If that changes in the future this class will be rewritten.

Since:

  • 0.1.0

Instance Method Summary collapse

Constructor Details

#initialize(fixtures_file, modules = nil, symlink_name = nil) ⇒ Fixtures

Returns a new instance of Fixtures.

Since:

  • 0.1.0



9
10
11
12
13
14
# File 'lib/puppetfile_fixtures_generator/fixtures.rb', line 9

def initialize(fixtures_file, modules = nil, symlink_name = nil)
  @fixtures = Pathname.new(fixtures_file)
  @modules = modules
  @module_hash = { 'fixtures' => {} }
  @symlink_name = symlink_name
end

Instance Method Details

#modules_hashObject

Since:

  • 0.1.0



16
17
18
# File 'lib/puppetfile_fixtures_generator/fixtures.rb', line 16

def modules_hash
  YAML.safe_load(@fixtures.read)
end

#write(fixtures_pn = @fixtures) ⇒ Object

Since:

  • 0.1.0



21
22
23
24
25
26
27
28
29
30
# File 'lib/puppetfile_fixtures_generator/fixtures.rb', line 21

def write(fixtures_pn = @fixtures)
  return 'Cannot write empty modules' if @modules.nil?
  # create hash of modules
  @module_hash['fixtures'] = @modules
  symlink_builder(@symlink_name)
  # convert hash to yaml
  yaml = @module_hash.to_yaml
  # write yaml
  fixtures_pn.write(yaml)
end