Class: Koine::SqlBuilder::SelectBuilder

Inherits:
Object
  • Object
show all
Defined in:
lib/koine/sql_builder/select_builder.rb

Instance Method Summary collapse

Constructor Details

#initialize(from:, select:, where:, adapter:) ⇒ SelectBuilder

Returns a new instance of SelectBuilder.



6
7
8
9
10
11
12
13
# File 'lib/koine/sql_builder/select_builder.rb', line 6

def initialize(from:, select:, where:, adapter:)
  @adapter = adapter
  @attributes = {
    select: select,
    from: from,
    where: where,
  }
end

Instance Method Details

#from(from) ⇒ Object



19
20
21
# File 'lib/koine/sql_builder/select_builder.rb', line 19

def from(from)
  create(:from, From.new(from))
end

#select(select = nil) ⇒ Object



15
16
17
# File 'lib/koine/sql_builder/select_builder.rb', line 15

def select(select = nil)
  create(:select, Select.new(select))
end

#to_sObject



27
28
29
30
31
# File 'lib/koine/sql_builder/select_builder.rb', line 27

def to_s
  @attributes.values.map(&:to_s).map(&:strip).reject do |element|
    element == ''
  end.join(@adapter.joiner)
end

#where(conditions = {}) ⇒ Object



23
24
25
# File 'lib/koine/sql_builder/select_builder.rb', line 23

def where(conditions = {})
  create(:where, @attributes[:where].with_added_conditions(conditions))
end