class Qdsl::Column
Attributes
alias_name[R]
name[R]
source[R]
Public Class Methods
[](obj)
click to toggle source
# File lib/column.rb, line 5 def self.[](obj) if obj.is_a?(Column) obj elsif obj.is_a?(String) || obj.is_a?(Symbol) Column.new(obj) else raise "Cannot convert object of class \"#{obj.class.name}\" to column" end end
new(name, alias_name = nil, source = nil)
click to toggle source
# File lib/column.rb, line 15 def initialize(name, alias_name = nil, source = nil) @name = name.to_s @alias_name = alias_name.nil? ? nil : alias_name.to_s @source = source end
Public Instance Methods
equals(column)
click to toggle source
# File lib/column.rb, line 50 def equals(column) Equals.new(self, column) end
exists?()
click to toggle source
# File lib/column.rb, line 34 def exists? @source.column_names.include?(@name) end
render_sql(context, ids)
click to toggle source
# File lib/column.rb, line 46 def render_sql(context, ids) SimpleRenderResult.new(@alias_name ? "#{@source.id}.#{@name} AS #{@alias_name}" : "#{@source.id}.#{@name}", {}) end
to_expression()
click to toggle source
# File lib/column.rb, line 38 def to_expression true? end
true?()
click to toggle source
# File lib/column.rb, line 42 def true? IsTrue.new(self) end
with_alias_name(alias_name)
click to toggle source
# File lib/column.rb, line 25 def with_alias_name(alias_name) Column.new(@name, alias_name, @source) end
Also aliased as: as
with_name(name)
click to toggle source
# File lib/column.rb, line 21 def with_name(name) Column.new(name, @alias_name, @source) end
with_source(source)
click to toggle source
# File lib/column.rb, line 30 def with_source(source) Column.new(@name, @alias_name, source) end