class Koine::SqlBuilder::Where

Attributes

items[R]

Public Class Methods

new(items = [], adapter:) click to toggle source
# File lib/koine/sql_builder/where.rb, line 8
def initialize(items = [], adapter:)
  @adapter = adapter
  @items = items
end

Public Instance Methods

each(&block) click to toggle source
# File lib/koine/sql_builder/where.rb, line 22
def each(&block)
  @items.each(&block)
end
to_s() click to toggle source
# File lib/koine/sql_builder/where.rb, line 26
def to_s
  unless items.empty?
    return "WHERE #{to_a.join(' AND ')}"
  end

  ''
end
with_added_conditions(items = {}) click to toggle source
# File lib/koine/sql_builder/where.rb, line 13
def with_added_conditions(items = {})
  items = Array(items).map do |item|
    @adapter.create_condition(item)
  end

  items = [@items, items].flatten
  self.class.new(items, adapter: @adapter)
end