Sha256: 88981f20e044ac614c3ef95e88b2c388664424ce5d48444f504084572d194d09

Contents?: true

Size: 1.04 KB

Versions: 8

Compression:

Stored size: 1.04 KB

Contents

require_relative "cmdline"
require_relative "core"
require_relative "utils"

module Giblish
  class Application

    def run_with_args(args)
      run args
    end

    def run_from_cmd_line
      run ARGV
    end

    def run(args)
      # setup logging
      Giblog.setup

      # Parse cmd line
      cmdline = CmdLineParser.new args

      Giblog.logger.debug { "cmd line args: #{cmdline.args}" }

      # Convert using given args
      begin
        if cmdline.args[:gitRepoRoot]
          Giblog.logger.info { "User asked to parse a git repo" }
          GitRepoParser.new cmdline.args
        else
          tc = TreeConverter.new cmdline.args
          tc.walk_dirs
        end
        Giblog.logger.info { "Giblish is done!" }
      rescue Exception => e
        log_error e
        exit(1)
      end
    end

    private

    def log_error(ex)
      Giblog.logger.error do
        <<~ERR_MSG
          Error: #{ex.message}
          Backtrace:
          \t#{ex.backtrace.join("\n\t")}

          cmdline.usage
        ERR_MSG
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
giblish-0.2.12 lib/giblish/application.rb
giblish-0.2.11 lib/giblish/application.rb
giblish-0.2.10 lib/giblish/application.rb
giblish-0.2.9 lib/giblish/application.rb
giblish-0.2.8 lib/giblish/application.rb
giblish-0.2.7 lib/giblish/application.rb
giblish-0.2.6 lib/giblish/application.rb
giblish-0.2.5 lib/giblish/application.rb