Class: Qdsl::ColumnProxy

Inherits:
Object
  • Object
show all
Defined in:
lib/column_proxy.rb

Instance Method Summary collapse

Constructor Details

#initialize(source) ⇒ ColumnProxy

Returns a new instance of ColumnProxy.



3
4
5
6
7
8
9
10
11
12
# File 'lib/column_proxy.rb', line 3

def initialize(source)
  @source = source
  source.column_names.each do |column|
    (class << self; self; end).class_eval do
      define_method column do
        Column.new(column, nil, source)
      end
    end
  end
end

Instance Method Details

#[](name) ⇒ Object



14
15
16
17
# File 'lib/column_proxy.rb', line 14

def [](name)
  raise "Unknown column \"#{name}\"" unless @source.column_names.include?(name.to_s)
  Column.new(name.to_s, nil, @source)
end

#_call(function_name, *parameters) ⇒ Object



19
20
21
# File 'lib/column_proxy.rb', line 19

def _call(function_name, *parameters)
  Call.new(@source, function_name, parameters)
end

#_formatcall(format, *parameters) ⇒ Object



23
24
25
# File 'lib/column_proxy.rb', line 23

def _formatcall(format, *parameters)
  FormatCall.new(@source, format, parameters)
end