Class: HQ::Engine::EngineScript

Inherits:
Tools::BaseScript
  • Object
show all
Defined in:
lib/hq/engine/engine-script.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeEngineScript

Returns a new instance of EngineScript.



15
16
17
18
19
20
21
22
23
# File 'lib/hq/engine/engine-script.rb', line 15

def initialize

  @logger = Logger.new
  @logger.hostname = "local"
  @logger.add_auto "debug"

  @transform_backend = Transform::RubyBackend.new

end

Instance Attribute Details

#loggerObject

Returns the value of attribute logger.



12
13
14
# File 'lib/hq/engine/engine-script.rb', line 12

def logger
  @logger
end

#transform_backendObject

Returns the value of attribute transform_backend.



13
14
15
# File 'lib/hq/engine/engine-script.rb', line 13

def transform_backend
  @transform_backend
end

Instance Method Details

#mainObject



25
26
27
28
# File 'lib/hq/engine/engine-script.rb', line 25

def main
  process_args
  run_engine
end

#process_argsObject



30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# File 'lib/hq/engine/engine-script.rb', line 30

def process_args

  @opts, @args =
    Tools::Getopt.process @args, [

      { :name => :config,
        :required => true },

      { :name => :work,
        :required => true },

    ]

  @args.empty? \
    or raise "Extra args on command line"

end

#run_engineObject



48
49
50
51
52
53
54
55
56
57
58
59
60
61
# File 'lib/hq/engine/engine-script.rb', line 48

def run_engine

  engine =
    Engine.new

  engine.logger = logger
  engine.transform_backend = transform_backend

  engine.config_dir = @opts[:config]
  engine.work_dir = @opts[:work]

  engine.transform

end