Module: Linzer::Common

Included in:
Signer, Verifier
Defined in:
lib/linzer/common.rb

Class Method Summary collapse

Class Method Details

.signature_base(message, serialized_components, parameters) ⇒ Object



5
6
7
8
9
10
11
12
13
14
# File 'lib/linzer/common.rb', line 5

def signature_base(message, serialized_components, parameters)
  signature_base =
    serialized_components.each_with_object(+"") do |component, base|
      base << "%s\n" % signature_base_line(component, message)
    end

  signature_base << signature_params_line(serialized_components, parameters)

  signature_base
end

.signature_base_line(component, message) ⇒ Object



17
18
19
20
# File 'lib/linzer/common.rb', line 17

def signature_base_line(component, message)
  field_id = FieldId.new(field_name: component)
  "%s: %s" % [field_id.serialize, message[field_id]]
end

.signature_params_line(serialized_components, parameters) ⇒ Object



23
24
25
26
27
28
29
30
# File 'lib/linzer/common.rb', line 23

def signature_params_line(serialized_components, parameters)
  identifiers = serialized_components.map { |c| Starry.parse_item(c) }

  signature_params =
    Starry.serialize([Starry::InnerList.new(identifiers, parameters)])

  "%s: %s" % [Starry.serialize("@signature-params"), signature_params]
end