Class: Trino::Client::ModelVersions::V0_173::Base

Inherits:
Struct
  • Object
show all
Defined in:
lib/trino/client/model_versions/0.173.rb

Class Method Summary collapse

Class Method Details

.new(*args) ⇒ Object



29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# File 'lib/trino/client/model_versions/0.173.rb', line 29

def new(*args)
  new_struct(*args) do
    # make it immutable
    undef_method :"[]="
    members.each do |m|
      undef_method :"#{m}="
    end

    # replace constructor to receive hash instead of array
    alias_method :initialize_struct, :initialize

    def initialize(params={})
      initialize_struct(*members.map {|m| params[m] })
    end
  end
end

.new_structObject



27
# File 'lib/trino/client/model_versions/0.173.rb', line 27

alias_method :new_struct, :new