Class: Sapristi::ConfigurationLoader

Inherits:
Object
  • Object
show all
Defined in:
lib/sapristi/configuration_loader.rb

Constant Summary collapse

SEPARATOR =
','

Instance Method Summary collapse

Constructor Details

#initializeConfigurationLoader

Returns a new instance of ConfigurationLoader.



8
9
10
# File 'lib/sapristi/configuration_loader.rb', line 8

def initialize
  @definition_parser = DefinitionParser.new
end

Instance Method Details

#create_empty_configuration(conf_file) ⇒ Object

Raises:



18
19
20
21
22
# File 'lib/sapristi/configuration_loader.rb', line 18

def create_empty_configuration(conf_file)
  raise Error, "Trying to write empty configuration on existing file #{conf_file}" if File.exist? conf_file

  File.write(conf_file, Definition::HEADERS.join(SEPARATOR))
end

#load(file_path) ⇒ Object



12
13
14
15
16
# File 'lib/sapristi/configuration_loader.rb', line 12

def load(file_path)
  csv_rows = load_csv(file_path)

  parse_rows(csv_rows, file_path)
end

#save(conf_file, definitions) ⇒ Object

Raises:



24
25
26
27
28
29
30
# File 'lib/sapristi/configuration_loader.rb', line 24

def save(conf_file, definitions)
  raise Error, "Trying to write configuration on existing file #{conf_file}" if File.exist? conf_file

  serialized = definitions.map { |definition| serialize definition }

  write_to_csv conf_file, serialized
end