Class: ActiveRecordSqlUnionizer::UnionizerHelper

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

Instance Method Summary collapse

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