Sha256: 942feea7e38f61a9b8378295f989ee357502236e8d3078628836adac17c6f996

Contents?: true

Size: 798 Bytes

Versions: 6

Compression:

Stored size: 798 Bytes

Contents

require 'optparse'

module Vedeu
  class Configuration
    def self.configure(args = [])
      new(args).configure
    end

    def initialize(args = [])
      @args    = args
      @options = {}
    end

    def configure
      parser = OptionParser.new do |opts|
        opts.banner = "Usage: #{$PROGRAM_NAME} [options]"

        opts.on('-1', '--run-once', 'Run application once.') do
          options[:interactive] = false
        end

        opts.on('-c', '--cooked', 'Run application in cooked mode.') do
          options[:mode] = :cooked
        end

        opts.on('-r', '--raw', 'Run application in raw mode (default).') do
          options[:mode] = :raw
        end
      end
      parser.parse!(args)

      options
    end

    private

    attr_accessor :args, :options
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
vedeu-0.1.7 lib/vedeu/configuration.rb
vedeu-0.1.6 lib/vedeu/configuration.rb
vedeu-0.1.5 lib/vedeu/configuration.rb
vedeu-0.1.4 lib/vedeu/configuration.rb
vedeu-0.1.3 lib/vedeu/configuration.rb
vedeu-0.1.2 lib/vedeu/configuration.rb