module Presto::Client::ModelVersions::V316::Signature

Public Class Methods

decode(hash) click to toggle source
# File lib/presto/client/model_versions/316.rb, line 1888
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["name"],
    hash["kind"] && hash["kind"].downcase.to_sym,
    hash["typeVariableConstraints"] && hash["typeVariableConstraints"].map {|h| TypeVariableConstraint.decode(h) },
    hash["longVariableConstraints"] && hash["longVariableConstraints"].map {|h| LongVariableConstraint.decode(h) },
    hash["returnType"],
    hash["argumentTypes"],
    hash["variableArity"],
  )
  obj
end