module Trino::Client::ModelVersions::V303::SessionRepresentation

Public Class Methods

decode(hash) click to toggle source
# File lib/trino/client/model_versions/303.rb, line 1836
def decode(hash)
  unless hash.is_a?(Hash)
    raise TypeError, "Can't convert #{hash.class} to Hash"
  end
  obj = allocate
  obj.send(:initialize_struct,
    hash["queryId"],
    hash["transactionId"],
    hash["clientTransactionSupport"],
    hash["user"],
    hash["principal"],
    hash["source"],
    hash["catalog"],
    hash["schema"],
    hash["path"] && SqlPath.decode(hash["path"]),
    hash["traceToken"],
    hash["timeZoneKey"],
    hash["locale"],
    hash["remoteUserAddress"],
    hash["userAgent"],
    hash["clientInfo"],
    hash["clientTags"],
    hash["clientCapabilities"],
    hash["resourceEstimates"] && ResourceEstimates.decode(hash["resourceEstimates"]),
    hash["startTime"],
    hash["systemProperties"],
    hash["catalogProperties"],
    hash["unprocessedCatalogProperties"],
    hash["roles"] && Hash[hash["roles"].to_a.map! {|k,v| [k, SelectedRole.decode(v)] }],
    hash["preparedStatements"],
  )
  obj
end