Module: CassandraModel::CompositeRecord

Defined in:
lib/cassandra_model/composite_record.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(klass) ⇒ Object



12
13
14
15
# File 'lib/cassandra_model/composite_record.rb', line 12

def self.included(klass)
  klass.extend CompositeRecordStatic
  klass.send(:include, CompositeCounterRecord) if klass < CounterRecord
end

Instance Method Details

#delete_asyncObject



24
25
26
27
28
29
# File 'lib/cassandra_model/composite_record.rb', line 24

def delete_async
  futures = composite_rows.map { |record| record.internal_delete_async }

  futures << internal_delete_async
  Cassandra::Future.all(futures).then { self }
end

#save_async(options = {}) ⇒ Object



17
18
19
20
21
22
# File 'lib/cassandra_model/composite_record.rb', line 17

def save_async(options = {})
  futures = composite_rows.map { |record| record.internal_save_async(options) }

  futures << internal_save_async(options)
  Cassandra::Future.all(futures).then { self }
end

#update_async(new_attributes) ⇒ Object



31
32
33
34
35
36
# File 'lib/cassandra_model/composite_record.rb', line 31

def update_async(new_attributes)
  futures = composite_rows.map { |record| record.internal_update_async(new_attributes) }

  futures << internal_update_async(new_attributes)
  Cassandra::Future.all(futures).then { self }
end