class Sequel::Postgres::JSONTableOp::ColumnDSL

  1. lib/sequel/extensions/pg_json_ops.rb
Superclass: Object

Class used to evaluate json_table blocks and nested blocks

Methods

Public Class

  1. columns
  2. new

Public Instance

  1. Bignum
  2. column
  3. columns
  4. exists
  5. nested
  6. ordinality

Attributes

columns [R]

Return array of column information recorded for the instance

Public Class methods

columns(&block)
[show source]
     # File lib/sequel/extensions/pg_json_ops.rb
1187 def self.columns(&block)
1188   new(&block).columns.freeze
1189 end
new(&block)
[show source]
     # File lib/sequel/extensions/pg_json_ops.rb
1191 def initialize(&block)
1192   @columns = []
1193   instance_exec(&block)
1194 end

Public Instance methods

Bignum(name, opts=OPTS)

Include a bigint column

[show source]
     # File lib/sequel/extensions/pg_json_ops.rb
1217 def Bignum(name, opts=OPTS)
1218   @columns << [:column, name, :Bignum, opts].freeze
1219 end
column(name, type, opts=OPTS)

Include a regular column with the given type

[show source]
     # File lib/sequel/extensions/pg_json_ops.rb
1202 def column(name, type, opts=OPTS)
1203   @columns << [:column, name, type, opts].freeze
1204 end
exists(name, type, opts=OPTS)

Include an EXISTS column with the given type

[show source]
     # File lib/sequel/extensions/pg_json_ops.rb
1207 def exists(name, type, opts=OPTS)
1208   @columns << [:exists, name, type, opts].freeze
1209 end
nested(path, &block)

Include a nested set of columns at the given path.

[show source]
     # File lib/sequel/extensions/pg_json_ops.rb
1212 def nested(path, &block)
1213   @columns << [:nested, path, ColumnDSL.columns(&block)].freeze
1214 end
ordinality(name)

Include a FOR ORDINALITY column

[show source]
     # File lib/sequel/extensions/pg_json_ops.rb
1197 def ordinality(name)
1198   @columns << [:ordinality, name].freeze
1199 end