Class: Dataloaderb::ProcessDefinition

Inherits:
Object
  • Object
show all
Defined in:
lib/dataloaderb/process_definition.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(yaml, merge = nil) ⇒ ProcessDefinition

Create a new instance of a ConfCreator



9
10
11
12
13
14
# File 'lib/dataloaderb/process_definition.rb', line 9

def initialize(yaml, merge = nil)
  @id          = ''
  @description = ''
  @entries     = {}
  load_yaml(yaml, merge)
end

Instance Attribute Details

#descriptionObject (readonly)

Returns the value of attribute description.



5
6
7
# File 'lib/dataloaderb/process_definition.rb', line 5

def description
  @description
end

#entriesObject (readonly)

Returns the value of attribute entries.



6
7
8
# File 'lib/dataloaderb/process_definition.rb', line 6

def entries
  @entries
end

#idObject (readonly)

Returns the value of attribute id.



4
5
6
# File 'lib/dataloaderb/process_definition.rb', line 4

def id
  @id
end

Instance Method Details

#get(key) ⇒ Object



20
21
22
# File 'lib/dataloaderb/process_definition.rb', line 20

def get(key)
  @entries[key]
end

#load_yaml(yaml_file, merge = nil) ⇒ Object

Load a process definition from a Yaml file

Raises:

  • (ArgumentError)


25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/dataloaderb/process_definition.rb', line 25

def load_yaml(yaml_file, merge = nil)
  raise ArgumentError, "Cannot find file #{yaml_file}" unless File.exist?(yaml_file)
  raise ArgumentError, "Cannot find file #{merge}" unless merge.nil? || File.exist?(merge)
  unless merge.nil?
    merge_data = YAML.load_file(merge)
    merge_data.each do |key, value|
      self.set(key, value)
    end
  end
  proc         = YAML.load_file(yaml_file)
  @id          = proc['id']
  @description = proc['description']
  proc['properties'].each do |key, value|
    self.set(key, value)
  end
end

#set(key, value) ⇒ Object



16
17
18
# File 'lib/dataloaderb/process_definition.rb', line 16

def set(key, value)
  @entries[key] = value
end