Class: Libsql::NamedArgBuilder

Inherits:
Object
  • Object
show all
Defined in:
lib/libsql.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**kwargs) ⇒ NamedArgBuilder

Returns a new instance of NamedArgBuilder.



102
103
104
# File 'lib/libsql.rb', line 102

def initialize(**kwargs)
  @kwargs = kwargs
end

Instance Attribute Details

#kwargsObject (readonly)

Returns the value of attribute kwargs.



100
101
102
# File 'lib/libsql.rb', line 100

def kwargs
  @kwargs
end

Instance Method Details

#buildObject



110
111
112
113
114
115
116
117
118
119
120
121
122
123
# File 'lib/libsql.rb', line 110

def build
  kwargs.reduce([]) do |acc, (key, value)|
    type = case value
    in Integer
      "integer"
    in NilClass
      "null"
    else
      "text"
    end

    acc << { name: key, value: { type:, value: } }
  end
end

#empty?Boolean

Returns:

  • (Boolean)


106
# File 'lib/libsql.rb', line 106

def empty? = @kwargs.empty?

#keyObject



108
# File 'lib/libsql.rb', line 108

def key = :named_args