class GPGStatusParser::StatusMessage

Constants

COMMAND_REGEXP

Attributes

args[R]
status[R]

Public Class Methods

new(status_string) click to toggle source
# File lib/gpg_status_parser/status_message.rb, line 17
def initialize status_string
  match = COMMAND_REGEXP.match(status_string)
  raise NotGPGStatus if match.nil?

  @status = match[1].intern
  raise InvalidStatus, @status if !STATUS_CODES.keys.include?(@status)

  expected_arg_string = GPGStatusParser::STATUS_CODES[@status]
  expected_args = GPGStatusParser::Arguments.extract_expected_arguments(expected_arg_string)
  @args = GPGStatusParser::Arguments.extract_argument_values(expected_args, match[2])
end