lib/argy.rb in argy-0.2.0 vs lib/argy.rb in argy-0.2.1

- old
+ new

@@ -1,25 +1,51 @@ require "argy/version" require "argy/parser" module Argy + # Base class for all of Argy's errors. Error = Class.new(StandardError) + + # An error that is raised when an option + # cannot be coerced to the correct type CoersionError = Class.new(Error) + + # An error that is raised when an option + # is not valid. ValidationError = Class.new(Error) + # An error that is raised when parsing fails. class ParseError < Error + # The original error from OptionParser. + # @return [OptionParser::ParseError] attr_reader :original def initialize(original) @original = original super(original.message) end end + # Define a new parser. + # @see Parser + # @example + # parser = Argy.new do |o| + # o.argument :input, desc: "the input file" + # o.option :verbose, type: :boolean + # end + # + # options = parser.parse(ARGV) def self.new(&block) Argy::Parser.new(&block) end + # Define a parser and return the options in one go. + # @see Parser + # @example + # options = Argy.parse do + # o.argument :input, desc: "the input file" + # o.option :verbose, type: :boolean + # end def self.parse(argv: ARGV, &block) new(&block).parse(argv) end end