Class: HQ::Transform::TransformScript

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeTransformScript

Returns a new instance of TransformScript.



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

def initialize

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

  @transform_backend = RubyBackend.new

end

Instance Attribute Details

#loggerObject

Returns the value of attribute logger.



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

def logger
  @logger
end

#transform_backendObject

Returns the value of attribute transform_backend.



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

def transform_backend
  @transform_backend
end

Instance Method Details

#mainObject



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

def main
  process_args
  perform_transform
end

#perform_transformObject



57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
# File 'lib/hq/transform/transform-script.rb', line 57

def perform_transform

  transformer =
    Engine::Transformer.new

  transformer.parent = self

  transformer.schema_file = @opts[:schema]
  transformer.rules_dir = @opts[:rules]
  transformer.include_dir = @opts[:include]
  transformer.input_dir = @opts[:input]
  transformer.output_dir = @opts[:output]

  result =
    transformer.rebuild

  raise "Error" \
    unless result[:success]

end

#process_argsObject



30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# File 'lib/hq/transform/transform-script.rb', line 30

def process_args

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

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

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

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

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

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

    ]

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

end