class COSE::Key::CurveKey

Constants

LABEL_CRV
LABEL_D
LABEL_X

Attributes

crv[R]
d[R]
x[R]

Public Class Methods

keyword_arguments_for_initialize(map) click to toggle source
# File lib/cose/key/curve_key.rb, line 15
def self.keyword_arguments_for_initialize(map)
  {
    crv: map[LABEL_CRV],
    x: map[LABEL_X],
    d: map[LABEL_D]
  }
end
new(crv:, x: nil, d: nil, **keyword_arguments) click to toggle source
Calls superclass method COSE::Key::Base::new
# File lib/cose/key/curve_key.rb, line 23
def initialize(crv:, x: nil, d: nil, **keyword_arguments) # rubocop:disable Naming/MethodParameterName
  super(**keyword_arguments)

  if !crv
    raise ArgumentError, "Required crv is missing"
  elsif !x && !d
    raise ArgumentError, "x and d cannot be missing simultaneously"
  else
    @crv = crv
    @x = x
    @d = d
  end
end

Public Instance Methods

map() click to toggle source
Calls superclass method COSE::Key::Base#map
# File lib/cose/key/curve_key.rb, line 37
def map
  super.merge(
    LABEL_CRV => crv,
    LABEL_X => x,
    LABEL_D => d
  ).compact
end