class Deptree::ArgumentsParser

Attributes

name[R]
prerequisites[R]

Public Class Methods

new(args) click to toggle source
# File lib/deptree/arguments_parser.rb, line 5
def initialize(args)
  @args = args
end

Public Instance Methods

parse!() click to toggle source
# File lib/deptree/arguments_parser.rb, line 9
def parse!
  fail! if @args.size > 1
  args = @args.first

  case args
  when String, Symbol
    @name, @prerequisites = args, []
  when Hash
    fail! if args.size != 1
    @name, @prerequisites = args.map { |k, v| [k, Array(v)] }.first
  else
    fail!
  end

  return self
end

Private Instance Methods

fail!() click to toggle source
# File lib/deptree/arguments_parser.rb, line 28
def fail!
  fail InvalidArgumentError.new(@args)
end