Sha256: 7949629b97f8fe601ca57985b9aa1f471f7696fb90695363b9e5e5d5ae720ccb

Contents?: true

Size: 1007 Bytes

Versions: 6

Compression:

Stored size: 1007 Bytes

Contents

require "optparse"
require_relative "version"

module Harmoniser
  class Parser
    def initialize(logger:)
      @logger = logger
      @options = {}
      @option_parser = OptionParser.new do |opts|
        opts.banner = "harmoniser [options]"
        opts.on "-e", "--environment ENV", "Application environment" do |arg|
          @options[:environment] = arg
        end
        opts.on "-r", "--require [PATH|DIR]", "File to require or location of Rails application" do |arg|
          @options[:require] = arg
        end
        opts.on("-v", "--[no-]verbose", "Run verbosely") do |arg|
          @options[:verbose] = arg
        end
        opts.on "-V", "--version", "Print version and exit" do
          puts "Harmoniser #{Harmoniser::VERSION}"
          exit(0)
        end
        opts.on_tail "-h", "--help", "Show help" do
          puts @option_parser
          exit(0)
        end
      end
    end

    def call(argv = [])
      @option_parser.parse!(argv)
      @options
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
harmoniser-0.6.0 lib/harmoniser/parser.rb
harmoniser-0.5.0 lib/harmoniser/parser.rb
harmoniser-0.4.0 lib/harmoniser/parser.rb
harmoniser-0.3.0 lib/harmoniser/parser.rb
harmoniser-0.2.0 lib/harmoniser/parser.rb
harmoniser-0.1.0 lib/harmoniser/parser.rb