Module: ColumnQueries::RealtionExtensions
- Defined in:
- lib/column_queries/relation_extensions.rb
Instance Method Summary collapse
- #to_columns_as_int_arrays(*columns) ⇒ Object
- #to_int_array(column = nil) ⇒ Object
- #to_int_groups(keys_column, values_column) ⇒ Object
- #to_int_hash(keys_column, values_column) ⇒ Object
Instance Method Details
#to_columns_as_int_arrays(*columns) ⇒ Object
7 8 9 10 |
# File 'lib/column_queries/relation_extensions.rb', line 7 def to_columns_as_int_arrays(*columns) relation = columns.empty? ? self : select(columns) @klass.connection.select_columns_as_int_arrays(relation.arel.to_sql) end |
#to_int_array(column = nil) ⇒ Object
2 3 4 5 |
# File 'lib/column_queries/relation_extensions.rb', line 2 def to_int_array(column = nil) relation = column.nil? ? self : select(column) @klass.connection.select_int_values(relation.arel.to_sql) end |
#to_int_groups(keys_column, values_column) ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/column_queries/relation_extensions.rb', line 12 def to_int_groups(keys_column, values_column) keys, values = to_columns_as_int_arrays(keys_column, values_column) keys.zip(values).inject({}) do |hash, pair| value = hash[pair.first] if value value << pair.last else hash[pair.first] = [pair.last] end hash end end |
#to_int_hash(keys_column, values_column) ⇒ Object
25 26 27 28 |
# File 'lib/column_queries/relation_extensions.rb', line 25 def to_int_hash(keys_column, values_column) keys, values = to_columns_as_int_arrays(keys_column, values_column) Hash[keys.zip(values)] end |