class QueryBuilder::Core::Clause

The base class for all AST clauses (parts of statement)

Every clause has a type, allowing to filter clauses of a statement.

@abstract

Public Class Methods

type(value = nil) click to toggle source

Gets/sets type for the specific clause class

@param [#to_sym, nil] value

@return [Symbol, nil]

# File lib/query_builder/core/clause.rb, line 32
def self.type(value = nil)
  value ? (@type = value) : @type
end
unique() click to toggle source

Makes all instances of the class unique

Only one instance can be added to the statement via ‘Statement#<<` method

@return [undefined]

# File lib/query_builder/core/clause.rb, line 22
def self.unique
  include Equalizer.new(:class)
end

Public Instance Methods

type() click to toggle source

@!method type

@return [Symbol] The type of the clause

# File lib/query_builder/core/clause.rb, line 40
def type
  self.class.type
end