class Sapristi::Sapristi
Attributes
dry[R]
verbose[R]
Public Class Methods
new(configuration_loader: ConfigurationLoader.new, definition_processor: DefinitionProcessor.new)
click to toggle source
# File lib/sapristi/sapristi.rb, line 5 def initialize(configuration_loader: ConfigurationLoader.new, definition_processor: DefinitionProcessor.new) @configuration_loader = configuration_loader @definition_processor = definition_processor @dry = false @verbose = false @group = nil end
Private Class Methods
user_default_configuration_file()
click to toggle source
# File lib/sapristi/sapristi.rb, line 65 def self.user_default_configuration_file File.join Dir.home, '.sapristi.csv' end
Public Instance Methods
dry!()
click to toggle source
# File lib/sapristi/sapristi.rb, line 30 def dry! @dry = true logger = ::Sapristi.logger logger.level = :info if logger.level > Logger::INFO end
filter!(group)
click to toggle source
# File lib/sapristi/sapristi.rb, line 40 def filter!(group) @group = group end
run(conf_file = Sapristi.user_default_configuration_file)
click to toggle source
# File lib/sapristi/sapristi.rb, line 13 def run(conf_file = Sapristi.user_default_configuration_file) ::Sapristi.logger.info "Sapristi: Processing: #{conf_file}" check_user_configuration(conf_file) definitions = @configuration_loader.load(conf_file) definitions = definitions.filter { |definition| definition.group.eql? @group } if @group process definitions end
verbose!()
click to toggle source
# File lib/sapristi/sapristi.rb, line 25 def verbose! @verbose = true ::Sapristi.logger.level = :info end
wait_time!(wait_time)
click to toggle source
# File lib/sapristi/sapristi.rb, line 36 def wait_time!(wait_time) @definition_processor.wait_time = wait_time end
Private Instance Methods
check_user_configuration(conf_file)
click to toggle source
# File lib/sapristi/sapristi.rb, line 59 def check_user_configuration(conf_file) return unless conf_file.eql?(Sapristi.user_default_configuration_file) && !File.exist?(conf_file) @configuration_loader.create_empty_configuration conf_file end
process(definitions)
click to toggle source
# File lib/sapristi/sapristi.rb, line 46 def process(definitions) definitions.each_with_index do |definition, index| process_line(definition, index) rescue Error => e raise Error, "#{e.message}, line=#{index}" end end
process_line(definition, index)
click to toggle source
# File lib/sapristi/sapristi.rb, line 54 def process_line(definition, index) ::Sapristi.logger.info "Process line #{index}: #{definition}" @definition_processor.process_definition(definition) unless dry end