class TonSdk::Abi::Abi

types

Constants

TYPES

Attributes

type_[R]
value[R]

Public Class Methods

new(type_:, value:) click to toggle source
# File lib/ton_sdk_client/abi.rb, line 12
def initialize(type_:, value:)
  unless TYPES.include?(type_)
    raise ArgumentError.new("type #{type_} is unknown; known types: #{TYPES}")
  end
  @type_ = type_
  @value = value
end

Public Instance Methods

to_h() click to toggle source
# File lib/ton_sdk_client/abi.rb, line 20
def to_h
  h1 = {
    type: Helper.sym_to_capitalized_case_str(@type_)
  }

  h2 = case @type_
  when :contract, :serialized
    {
      value: @value.to_h
    }
  when :json, :handle
    {
      value: @value
    }
  else
    raise ArgumentError.new("type #{type_} is unknown; known types: #{TYPES}")
  end

  h1.merge(h2)
end