Module: MonsterQueries::ActiveRecord::ClassMethods
- Defined in:
- lib/monster_queries/active_record.rb
Instance Method Summary collapse
- #execute(query) ⇒ Object
- #select_array(query) ⇒ Object
- #select_json(query, count) ⇒ Object
- #select_object(query) ⇒ Object
- #select_value(query) ⇒ Object
- #select_values(query) ⇒ Object
Instance Method Details
#execute(query) ⇒ Object
64 65 66 |
# File 'lib/monster_queries/active_record.rb', line 64 def execute query connection.execute query end |
#select_array(query) ⇒ Object
84 85 86 87 88 89 90 |
# File 'lib/monster_queries/active_record.rb', line 84 def select_array query sql = <<-SQL SELECT COALESCE(array_to_json(array_agg(row_to_json(query_row))), '[]'::json) FROM (#{query}) query_row SQL select_value sql end |
#select_json(query, count) ⇒ Object
76 77 78 79 80 81 82 |
# File 'lib/monster_queries/active_record.rb', line 76 def select_json query, count if count select_object query else select_array query end end |
#select_object(query) ⇒ Object
92 93 94 95 96 97 98 |
# File 'lib/monster_queries/active_record.rb', line 92 def select_object query sql = <<-SQL SELECT COALESCE(row_to_json(query_row),'{}'::json) FROM (#{query}) query_row SQL select_value sql end |
#select_value(query) ⇒ Object
68 69 70 |
# File 'lib/monster_queries/active_record.rb', line 68 def select_value query connection.select_value query end |
#select_values(query) ⇒ Object
72 73 74 |
# File 'lib/monster_queries/active_record.rb', line 72 def select_values query connection.select_values query end |