Class: Cure::Main

Inherits:
Object
  • Object
show all
Includes:
Configuration, FileHelpers
Defined in:
lib/cure/main.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods included from FileHelpers

#clean_dir, #read_file, #with_file, #with_temp_dir

Methods included from Configuration

#config, #create_config, #register_config

Constructor Details

#initializeMain

Returns a new instance of Main.



30
31
32
# File 'lib/cure/main.rb', line 30

def initialize
  @is_initialised = false
end

Instance Attribute Details

#is_initialisedBoolean (readonly)

Returns:

  • (Boolean)


28
29
30
# File 'lib/cure/main.rb', line 28

def is_initialised
  @is_initialised
end

#transformerCure::Transformation::Transform



25
26
27
# File 'lib/cure/main.rb', line 25

def transformer
  @transformer
end

Class Method Details

.init(template_file, csv_file, output_dir) ⇒ Cure::Main

Returns:



16
17
18
19
20
21
22
# File 'lib/cure/main.rb', line 16

def self.init(template_file, csv_file, output_dir)
  # Run all init stuff here.
  main = Main.new
  main.setup(template_file, csv_file, output_dir)

  main
end

Instance Method Details

#build_ctxCure::Transform::TransformContext

Returns:

  • (Cure::Transform::TransformContext)


42
43
44
# File 'lib/cure/main.rb', line 42

def build_ctx
  @transformer.extract_from_file(config.source_file_location)
end

#runObject



34
35
36
37
38
39
# File 'lib/cure/main.rb', line 34

def run
  raise "Not init" unless @transformer

  ctx = build_ctx
  export(ctx)
end

#setup(template_file, csv_file, output_dir) ⇒ Object



46
47
48
49
50
51
52
53
54
# File 'lib/cure/main.rb', line 46

def setup(template_file, csv_file, output_dir)
  config = create_config(csv_file, JSON.parse(read_file(template_file)), output_dir)
  register_config(config)

  candidates = config.template["candidates"].map { |c| Cure::Transformation::Candidate.new.from_json(c) }

  @transformer = Cure::Transformation::Transform.new(candidates)
  @is_initialised = true
end