class Sequel::Postgres::JSONTableOp::ColumnDSL
Class used to evaluate json_table blocks and nested blocks
Attributes
columns[R]
Return array of column information recorded for the instance
Public Class Methods
columns(&block)
click to toggle source
# File lib/sequel/extensions/pg_json_ops.rb 1163 def self.columns(&block) 1164 new(&block).columns.freeze 1165 end
new(&block)
click to toggle source
# File lib/sequel/extensions/pg_json_ops.rb 1167 def initialize(&block) 1168 @columns = [] 1169 instance_exec(&block) 1170 end
Public Instance Methods
Bignum(name, opts=OPTS)
click to toggle source
Include a bigint column
# File lib/sequel/extensions/pg_json_ops.rb 1193 def Bignum(name, opts=OPTS) 1194 @columns << [:column, name, :Bignum, opts].freeze 1195 end
column(name, type, opts=OPTS)
click to toggle source
Include a regular column with the given type
# File lib/sequel/extensions/pg_json_ops.rb 1178 def column(name, type, opts=OPTS) 1179 @columns << [:column, name, type, opts].freeze 1180 end
exists(name, type, opts=OPTS)
click to toggle source
Include an EXISTS column with the given type
# File lib/sequel/extensions/pg_json_ops.rb 1183 def exists(name, type, opts=OPTS) 1184 @columns << [:exists, name, type, opts].freeze 1185 end
nested(path, &block)
click to toggle source
Include a nested set of columns at the given path.
# File lib/sequel/extensions/pg_json_ops.rb 1188 def nested(path, &block) 1189 @columns << [:nested, path, ColumnDSL.columns(&block)].freeze 1190 end
ordinality(name)
click to toggle source
Include a FOR ORDINALITY column
# File lib/sequel/extensions/pg_json_ops.rb 1173 def ordinality(name) 1174 @columns << [:ordinality, name].freeze 1175 end