class SQLKnit::SQL::Select

Attributes

statement_chains[R]

Public Class Methods

new() click to toggle source
# File lib/sql/select.rb, line 7
def initialize
  @statement_chains = []
end

Public Instance Methods

text(str) click to toggle source
# File lib/sql/select.rb, line 11
def text str
  statement_chains << str if not statement_chains.include? str
end
to_statement() click to toggle source
# File lib/sql/select.rb, line 15
def to_statement
  "select #{statement_chains.join(",\n")}"
end

Private Instance Methods

create_method(name, &block) click to toggle source
# File lib/sql/select.rb, line 30
def create_method name, &block
  self.class.send :define_method, name, &block
end
method_missing(table_name, as_mapper) click to toggle source
# File lib/sql/select.rb, line 21
def method_missing table_name, as_mapper

  create_method table_name do |as_mapper|
    as_mapper.each {|col, as_col|  text "#{table_name}.#{col} as #{as_col}"}
  end

  send table_name, as_mapper
end