Module: CassandraModel::MetaColumnsStatic
- Extended by:
- Forwardable
- Defined in:
- lib/cassandra_model/meta_columns.rb
Instance Method Summary collapse
- #after_initialize(record) ⇒ Object
- #async_deferred_column(name, options) ⇒ Object
- #deferred_column(name, options) ⇒ Object
- #deferred_columns ⇒ Object
- #save_async_deferred_columns(record) ⇒ Object
- #save_deferred_columns(record) ⇒ Object
Instance Method Details
#after_initialize(record) ⇒ Object
76 77 78 79 80 81 82 83 |
# File 'lib/cassandra_model/meta_columns.rb', line 76 def after_initialize(record) futures = if table_config.async_deferred_column_readers table_config.async_deferred_column_readers.inject({}) do |memo, (column, callback)| memo.merge!(column => callback.call(record.attributes)) end end record.instance_variable_set(:@deferred_futures, futures) end |
#async_deferred_column(name, options) ⇒ Object
68 69 70 71 72 73 74 |
# File 'lib/cassandra_model/meta_columns.rb', line 68 def async_deferred_column(name, ) name = name.to_sym deferred_columns << name async_create_attr_accessor(name, ) async_create_save_method(name, ) end |
#deferred_column(name, options) ⇒ Object
60 61 62 63 64 65 66 |
# File 'lib/cassandra_model/meta_columns.rb', line 60 def deferred_column(name, ) name = name.to_sym deferred_columns << name create_attr_accessor(name, ) create_save_method(name, ) end |
#deferred_columns ⇒ Object
93 94 95 |
# File 'lib/cassandra_model/meta_columns.rb', line 93 def deferred_columns table_config.deferred_columns ||= [] end |
#save_async_deferred_columns(record) ⇒ Object
89 90 91 |
# File 'lib/cassandra_model/meta_columns.rb', line 89 def save_async_deferred_columns(record) do_save_async_deferred_columns(record) if table_config.async_deferred_column_writers end |
#save_deferred_columns(record) ⇒ Object
85 86 87 |
# File 'lib/cassandra_model/meta_columns.rb', line 85 def save_deferred_columns(record) do_save_deferred_columns(record) if table_config.deferred_column_writers end |