Module: HrrRbSsh::Authentication::Method::Publickey::Algorithm::Codable
- Included in:
- Algorithm
- Defined in:
- lib/hrr_rb_ssh/authentication/method/publickey/algorithm/codable.rb
Instance Method Summary collapse
Instance Method Details
#decode(definition, payload) ⇒ Object
19 20 21 22 23 24 25 26 27 |
# File 'lib/hrr_rb_ssh/authentication/method/publickey/algorithm/codable.rb', line 19 def decode definition, payload payload_io = StringIO.new payload, 'r' definition.map{ |data_type, field_name| [ field_name, HrrRbSsh::Transport::DataType[data_type].decode(payload_io) ] }.to_h end |
#encode(definition, payload) ⇒ Object
12 13 14 15 16 17 |
# File 'lib/hrr_rb_ssh/authentication/method/publickey/algorithm/codable.rb', line 12 def encode definition, payload definition.map{ |data_type, field_name| field_value = if payload[field_name].instance_of? ::Proc then payload[field_name].call else payload[field_name] end HrrRbSsh::Transport::DataType[data_type].encode(field_value) }.join end |