Class: Robocap::SDK::RsaKeyMeta

Inherits:
Object
  • Object
show all
Defined in:
lib/robocap/sdk/rsa_key_meta.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(rsa_key_version:, effective_at:, device_id:, rsa_bits: Config::RSA_BITS) ⇒ RsaKeyMeta

Returns a new instance of RsaKeyMeta.



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/robocap/sdk/rsa_key_meta.rb', line 10

def initialize(rsa_key_version:, effective_at:, device_id:, rsa_bits: Config::RSA_BITS)
  unless rsa_key_version.is_a?(Integer) && rsa_key_version >= 1
    raise ArgumentError, "rsa_key_version must be an integer >= 1 (got #{rsa_key_version.inspect})"
  end
  unless effective_at.is_a?(Time)
    raise ArgumentError, "effective_at must be a Time (got #{effective_at.class})"
  end
  unless device_id.is_a?(String)
    raise ArgumentError, "device_id must be a String (got #{device_id.class})"
  end
  unless rsa_bits.is_a?(Integer)
    raise ArgumentError, "rsa_bits must be an Integer (got #{rsa_bits.class})"
  end
  super
end

Class Method Details

.from_json(str) ⇒ Object



44
45
46
47
48
49
50
51
52
# File 'lib/robocap/sdk/rsa_key_meta.rb', line 44

def self.from_json(str)
  h = JSON.parse(str)
  new(
    rsa_key_version: h.fetch('rsa_key_version'),
    effective_at: Time.iso8601(h.fetch('effective_at')),
    device_id: h.fetch('device_id'),
    rsa_bits: h.fetch('rsa_bits', Config::RSA_BITS),
  )
end

Instance Method Details

#to_json(*_args) ⇒ Object



26
27
28
29
30
31
32
33
# File 'lib/robocap/sdk/rsa_key_meta.rb', line 26

def to_json(*_args)
  JSON.generate(
    rsa_key_version: rsa_key_version,
    effective_at: effective_at.getutc.iso8601,
    device_id: device_id,
    rsa_bits: rsa_bits,
  )
end

#to_pretty_jsonObject



35
36
37
38
39
40
41
42
# File 'lib/robocap/sdk/rsa_key_meta.rb', line 35

def to_pretty_json
  JSON.pretty_generate(
    'rsa_key_version' => rsa_key_version,
    'effective_at' => effective_at.getutc.iso8601,
    'device_id' => device_id,
    'rsa_bits' => rsa_bits,
  )
end