Class: ActiveRecordSqlUnionizer::UnionizerHelper
- Inherits:
-
Object
- Object
- ActiveRecordSqlUnionizer::UnionizerHelper
- Defined in:
- lib/active_record_sql_unionizer/active_record_sql_unionizer.rb
Instance Method Summary collapse
- #construct_final_query_string(queries, table_name) ⇒ String
- #get_table_name(klass) ⇒ String
- #handle_symbol_arg(klass, method_name) ⇒ String, UnionizerError
Instance Method Details
#construct_final_query_string(queries, table_name) ⇒ String
72 73 74 |
# File 'lib/active_record_sql_unionizer/active_record_sql_unionizer.rb', line 72 def construct_final_query_string(queries, table_name) "(#{queries.join(" UNION ")}) AS #{table_name}" end |
#get_table_name(klass) ⇒ String
49 50 51 52 53 54 55 |
# File 'lib/active_record_sql_unionizer/active_record_sql_unionizer.rb', line 49 def get_table_name(klass) table_klass = klass while table_klass.superclass != ActiveRecord::Base table_klass = table_klass.superclass end table_klass.to_s.underscore.downcase.pluralize end |
#handle_symbol_arg(klass, method_name) ⇒ String, UnionizerError
60 61 62 63 64 65 66 |
# File 'lib/active_record_sql_unionizer/active_record_sql_unionizer.rb', line 60 def handle_symbol_arg(klass, method_name) if klass.respond_to?(method_name) klass.send(method_name).to_sql else raise(UnionizerError.new(type: :bad_method, class: klass.to_s, method_name: method_name)) end end |