Module: OlapReport::ActiveRecord::Helpers
- Included in:
- Cube::ClassMethods
- Defined in:
- lib/olap_report/active_record/helpers.rb
Instance Method Summary collapse
- #association_class(joins, k = nil) ⇒ Object
- #column_with_alias(column, alias_name) ⇒ Object
- #join_table_name(joins) ⇒ Object
- #quote_table_column(name, table_name = self.table_name) ⇒ Object
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 |