module Trino::Client::ModelVersions::V0_153::WriterTarget

Public Class Methods

decode(hash) click to toggle source
# File lib/trino/client/model_versions/0.153.rb, line 176
def decode(hash)
  unless hash.is_a?(Hash)
    raise TypeError, "Can't convert #{hash.class} to Hash"
  end
  obj = allocate
  model_class = case hash["@type"]
      when "CreateHandle"       then OutputTableHandle
      when "InsertHandle"       then InsertTableHandle
      when "DeleteHandle"       then TableHandle
  end
  obj.send(:initialize_struct,
    hash["@type"],
    model_class.decode(hash['handle'])
  )
  obj
end