class Koine::SqlBuilder::SelectBuilder
Public Class Methods
new(from:, select:, where:, adapter:)
click to toggle source
# 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
Public Instance Methods
from(from)
click to toggle source
# File lib/koine/sql_builder/select_builder.rb, line 19 def from(from) create(:from, From.new(from)) end
select(select = nil)
click to toggle source
# File lib/koine/sql_builder/select_builder.rb, line 15 def select(select = nil) create(:select, Select.new(select)) end
to_s()
click to toggle source
# 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 = {})
click to toggle source
# File lib/koine/sql_builder/select_builder.rb, line 23 def where(conditions = {}) create(:where, @attributes[:where].with_added_conditions(conditions)) end
Private Instance Methods
create(attribute, value)
click to toggle source
# File lib/koine/sql_builder/select_builder.rb, line 35 def create(attribute, value) self.class.new(@attributes.merge(attribute => value, adapter: @adapter)) end