class Revamp::Application

A main application class

Public Class Methods

new(options) click to toggle source
# File lib/revamp/application.rb, line 7
def initialize(options)
  @options   = options
  @filenames = options[:filenames]
  @format    = :rpm
  @log       = Revamp.logger
end

Public Instance Methods

run!() click to toggle source
# File lib/revamp/application.rb, line 14
def run!
  converted = []
  @filenames.each do |file|
    @log.info("Processing file: #{file} ...")
    parser = Revamp::Parser::PuppetTarball.new(file)
    model = parser.parse
    persister = build_persister
    target = persister.persist(model)
    report(converted, persister, target)
  end
  @log.info("#{converted.size} files converted.")
end

Protected Instance Methods

build_persister() click to toggle source
# File lib/revamp/application.rb, line 42
def build_persister
  persister = case @format
              when :rpm then Revamp::Persister::Rpm.new
              else fail ArgumentError, "Unknown format: #{@format}"
              end
  persister.options = @options
  persister
end
report(converted, persister, target) click to toggle source
# File lib/revamp/application.rb, line 29
def report(converted, persister, target)
  if persister.respond_to? :persisted?
    if persister.persisted?
      converted << target
    else
      @log.info("File #{target} is already converted and clobber is false, skipped.")
    end
  else
    converted << target
  end
  converted
end