module HrrRbSftp::Protocol::Common::DataTypes::ExtensionPair
This module provides methods to convert extension-name and extension-data pair represented in ::Hash and binary string each other.
Public Class Methods
decode(io)
click to toggle source
Convert binary string into extension-name and extension-data pair represented in ::Hash.
@param io [::IO] ::IO instance that has buffer to be read. @return [::Hash{::Symbol=>::String}] Converted extension-name and extension-data pair represented in ::Hash.
# File lib/hrr_rb_sftp/protocol/common/data_types/extension_pair.rb, line 31 def self.decode io { :"extension-name" => DataTypes::String.decode(io), :"extension-data" => DataTypes::String.decode(io), } end
encode(arg)
click to toggle source
Convert extension-name and extension-data pair represented in ::Hash into binary string.
@param arg [::Hash{::Symbol=>::String}] Extension-name and extension-data pair represented in ::Hash to be converted. @raise [::ArgumentError] When arg is not ::Hash value. @return [::String] Converted binary string.
# File lib/hrr_rb_sftp/protocol/common/data_types/extension_pair.rb, line 18 def self.encode arg unless arg.kind_of? ::Hash raise ArgumentError, "must be a kind of Hash, but got #{arg.inspect}" end DataTypes::String.encode(arg[:"extension-name"]) + DataTypes::String.encode(arg[:"extension-data"]) end