Module: CassandraModel::MetaColumnsStatic

Extended by:
Forwardable
Defined in:
lib/cassandra_model/meta_columns.rb

Instance Method Summary collapse

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, options)
  name = name.to_sym
  deferred_columns << name

  async_create_attr_accessor(name, options)
  async_create_save_method(name, options)
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, options)
  name = name.to_sym
  deferred_columns << name

  create_attr_accessor(name, options)
  create_save_method(name, options)
end

#deferred_columnsObject



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