class Filegen::DataSourceBuilder

Build data sources

Attributes

params[R]
sources[R]

@!attribute [r] sources

Return the sources generated

Public Class Methods

new(params) click to toggle source

Create the data source builder

@param [OpenStruct] params

the params instance which contains all parameter of the commandline utility
# File lib/filegen/data_source_builder.rb, line 19
def initialize(params)
  @params = params

  validate_data_sources

  @sources = []
  chosen_data_sources.each do |o|
    @sources << known_data_source_builders[o]
  end
end

Private Instance Methods

allowed_data_sources() click to toggle source
# File lib/filegen/data_source_builder.rb, line 40
def allowed_data_sources
  known_data_source_builders.keys
end
chosen_data_sources() click to toggle source
# File lib/filegen/data_source_builder.rb, line 32
def chosen_data_sources
  params.data_sources
end
known_data_source_builders() click to toggle source
# File lib/filegen/data_source_builder.rb, line 36
def known_data_source_builders
  params.data_source_builders
end
validate_data_sources() click to toggle source
# File lib/filegen/data_source_builder.rb, line 44
def validate_data_sources
  invalid_data_sources = chosen_data_sources - allowed_data_sources
  message = "Unknown data source#{invalid_data_sources.size > 1 ? 's' : ''} \"#{invalid_data_sources.join(', ')}\" found."
  fail Exceptions::DataSourcesAreInvalid, message unless invalid_data_sources.empty?
end