Module: MTProto::Type::CodeType

Defined in:
lib/mtproto/type/sent_code.rb

Class Method Summary collapse

Class Method Details

.deserialize_from(data) ⇒ Object



109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
# File 'lib/mtproto/type/sent_code.rb', line 109

def self.deserialize_from(data)
  constructor = data[0, 4].unpack1('L<')
  offset = 4

  case constructor
  when 0x72a3158c # codeTypeSms
    [{ _: :code_type_sms }, offset]
  when 0x741cd3e3 # codeTypeCall
    [{ _: :code_type_call }, offset]
  when 0x226ccefb # codeTypeFlashCall
    [{ _: :code_type_flash_call }, offset]
  when 0xd61ad6ee # codeTypeMissedCall
    [{ _: :code_type_missed_call }, offset]
  else
    raise "Unknown CodeType constructor: 0x#{constructor.to_s(16)}"
  end
end