Class: Deptree::ArgumentsParser

Inherits:
Object
  • Object
show all
Defined in:
lib/deptree/arguments_parser.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(args) ⇒ ArgumentsParser

Returns a new instance of ArgumentsParser.



5
6
7
# File 'lib/deptree/arguments_parser.rb', line 5

def initialize(args)
  @args = args
end

Instance Attribute Details

#nameObject (readonly)

Returns the value of attribute name.



3
4
5
# File 'lib/deptree/arguments_parser.rb', line 3

def name
  @name
end

#prerequisitesObject (readonly)

Returns the value of attribute prerequisites.



3
4
5
# File 'lib/deptree/arguments_parser.rb', line 3

def prerequisites
  @prerequisites
end

Instance Method Details

#parse!Object



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# 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