class HttpSignatures::SignatureParametersParser

Public Class Methods

new(string) click to toggle source
# File lib/http_signatures/signature_parameters_parser.rb, line 4
def initialize(string)
  @string = string
end

Public Instance Methods

parse() click to toggle source
# File lib/http_signatures/signature_parameters_parser.rb, line 8
def parse
  Hash[array_of_pairs]
end

Private Instance Methods

array_of_pairs() click to toggle source
# File lib/http_signatures/signature_parameters_parser.rb, line 14
def array_of_pairs
  segments.map { |segment| pair(segment) }
end
pair(segment) click to toggle source
# File lib/http_signatures/signature_parameters_parser.rb, line 22
def pair(segment)
  match = segment_pattern.match(segment)
  raise Error, "unparseable segment: #{segment}" if match.nil?
  match.captures
end
segment_pattern() click to toggle source
# File lib/http_signatures/signature_parameters_parser.rb, line 28
def segment_pattern
  %r{\A(keyId|algorithm|headers|signature)="(.*)"\z}
end
segments() click to toggle source
# File lib/http_signatures/signature_parameters_parser.rb, line 18
def segments
  @string.split(",")
end