class ROM::SQL::RestrictionDSL

@api private

Public Instance Methods

call(&block) click to toggle source

@api private

# File lib/rom/sql/restriction_dsl.rb, line 10
def call(&block)
  arg, kwargs = select_relations(block.parameters)

  if kwargs.nil?
    instance_exec(arg, &block)
  else
    instance_exec(**kwargs, &block)
  end
end

Private Instance Methods

method_missing(meth, *args, &block) click to toggle source

@api private

# File lib/rom/sql/restriction_dsl.rb, line 23
def method_missing(meth, *args, &block)
  if schema.key?(meth)
    schema[meth]
  else
    type = type(meth)

    if type
      ::ROM::SQL::Function.new(type).meta(schema: schema)
    else
      ::Sequel::VIRTUAL_ROW.__send__(meth, *args, &block)
    end
  end
end