Module: OlapReport::ActiveRecord::Helpers

Included in:
Cube::ClassMethods
Defined in:
lib/olap_report/active_record/helpers.rb

Instance Method Summary collapse

Instance Method Details

#association_class(joins, k = nil) ⇒ Object



18
19
20
21
22
23
24
25
26
# File 'lib/olap_report/active_record/helpers.rb', line 18

def association_class(joins, k=nil)
  if joins.is_a? Hash
    key = joins.keys.first
    klass = reflect_on_association(key).klass
    association_class(joins[key], klass)
  else
    (k || self).reflect_on_association(joins).klass
  end
end

#column_with_alias(column, alias_name) ⇒ Object



14
15
16
# File 'lib/olap_report/active_record/helpers.rb', line 14

def column_with_alias(column, alias_name)
  [column, quote_column_name(alias_name)].join(' AS ')
end

#join_table_name(joins) ⇒ Object



10
11
12
# File 'lib/olap_report/active_record/helpers.rb', line 10

def join_table_name(joins)
  association_class(joins).table_name
end

#quote_table_column(name, table_name = self.table_name) ⇒ Object



6
7
8
# File 'lib/olap_report/active_record/helpers.rb', line 6

def quote_table_column(name, table_name=self.table_name)
  [quote_table_name(table_name), quote_column_name(name)].join('.')
end