Class: Cassandra::Mapper::Data::Response
- Inherits:
-
Object
- Object
- Cassandra::Mapper::Data::Response
- Defined in:
- lib/cassandra/mapper/data/response.rb
Instance Attribute Summary collapse
-
#columns ⇒ Object
readonly
Returns the value of attribute columns.
-
#config ⇒ Object
readonly
Returns the value of attribute config.
-
#key_values ⇒ Object
readonly
Returns the value of attribute key_values.
Instance Method Summary collapse
-
#initialize(config, key_values, columns) ⇒ Response
constructor
A new instance of Response.
- #keys ⇒ Object
- #subkeys(values) ⇒ Object
- #unpack ⇒ Object
Constructor Details
#initialize(config, key_values, columns) ⇒ Response
Returns a new instance of Response.
5 6 7 8 9 |
# File 'lib/cassandra/mapper/data/response.rb', line 5 def initialize(config, key_values, columns) @config = config @key_values = key_values @columns = columns end |
Instance Attribute Details
#columns ⇒ Object (readonly)
Returns the value of attribute columns.
3 4 5 |
# File 'lib/cassandra/mapper/data/response.rb', line 3 def columns @columns end |
#config ⇒ Object (readonly)
Returns the value of attribute config.
3 4 5 |
# File 'lib/cassandra/mapper/data/response.rb', line 3 def config @config end |
#key_values ⇒ Object (readonly)
Returns the value of attribute key_values.
3 4 5 |
# File 'lib/cassandra/mapper/data/response.rb', line 3 def key_values @key_values end |
Instance Method Details
#keys ⇒ Object
11 12 13 |
# File 'lib/cassandra/mapper/data/response.rb', line 11 def keys Hash[config.key.zip key_values] end |
#subkeys(values) ⇒ Object
15 16 17 |
# File 'lib/cassandra/mapper/data/response.rb', line 15 def subkeys(values) Hash[config.subkey.zip values] end |
#unpack ⇒ Object
19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/cassandra/mapper/data/response.rb', line 19 def unpack return [] if columns.empty? records = columns.group_by {|composite, _| composite[0..-2] } records.map do |subkey_values, fields| record = keys.merge subkeys(subkey_values) fields.each do |composite, value| field = composite[-1] record[field.to_sym] = value unless field.empty? end convert! record end end |