Class: Huck::Generator

Inherits:
Object
  • Object
show all
Defined in:
lib/huck/generator.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Attribute Details

#configObject

Returns the value of attribute config.



4
5
6
# File 'lib/huck/generator.rb', line 4

def config
  @config
end

Class Method Details

.factory(kwargs = {}) ⇒ Object

Given a generator’s name (or no name), return a new generator instance

Parameters:

name

The name of the generator

config

A configuration hash

Returns:

A Huck::Generator instance



17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# File 'lib/huck/generator.rb', line 17

def self.factory kwargs = {}
  name = Huck::getarg kwargs, :name, nil
  config = Huck::getarg kwargs, :config, {}

  name = 'stdin' if name.nil?

  case name
  when 'basic'
    g = Generators::BasicGenerator.new
  when 'facter'
    g = Generators::FacterGenerator.new
  when 'ohai'
    g = Generators::OhaiGenerator.new
  when 'file'
    g = Generators::FileGenerator.new
  when 'exec'
    g = Generators::ExecGenerator.new
  when 'stdin'
    g = Generators::StdinGenerator.new
  else
    raise Huck::Error, "bad generator: #{name}"
  end

  g.config = config
  return g
end