Class: Plz::Arguments

Inherits:
Object
  • Object
show all
Defined in:
lib/plz/arguments.rb

Instance Method Summary collapse

Constructor Details

#initialize(argv) ⇒ Arguments

Returns a new instance of Arguments.

Parameters:

  • arguments (Array)

    Raw ARGV



4
5
6
# File 'lib/plz/arguments.rb', line 4

def initialize(argv)
  @argv = argv
end

Instance Method Details

#action_nameString?

Returns Given action name.

Returns:

  • (String, nil)

    Given action name



9
10
11
# File 'lib/plz/arguments.rb', line 9

def action_name
  ARGV[0]
end

#has_invalid_json_input?true, false

Returns true if invalid JSON input is given via STDIN.

Returns:

  • (true, false)

    true if invalid JSON input is given via STDIN



37
38
39
40
41
42
# File 'lib/plz/arguments.rb', line 37

def has_invalid_json_input?
  params_from_stdin
  false
rescue JSON::ParserError
  true
end

#headersHash

Returns Headers parsed from given arguments.

Returns:

  • (Hash)

    Headers parsed from given arguments



25
26
27
28
29
30
31
32
33
34
# File 'lib/plz/arguments.rb', line 25

def headers
  ARGV[2..-1].inject({}) do |result, section|
    case
    when /(?<key>.+):(?<value>[^=]+)/ =~ section
      result.merge(key => value)
    else
      result
    end
  end
end

#paramsHash

Returns Params parsed from given arguments & STDIN.

Returns:

  • (Hash)

    Params parsed from given arguments & STDIN

Raises:



20
21
22
# File 'lib/plz/arguments.rb', line 20

def params
  params_from_stdin.merge(params_from_argv)
end

#target_nameString?

Returns Given target name.

Returns:

  • (String, nil)

    Given target name



14
15
16
# File 'lib/plz/arguments.rb', line 14

def target_name
  ARGV[1]
end