Module: CassandraModel::CompositeRecordStatic
- Extended by:
- Forwardable
- Defined in:
- lib/cassandra_model/composite_record_static.rb
Instance Method Summary collapse
- #clustering_columns ⇒ Object
- #columns ⇒ Object
- #composite_ck_map ⇒ Object
- #composite_defaults ⇒ Object
- #composite_pk_map ⇒ Object
- #generate_composite_defaults(column_defaults, truth_table) ⇒ Object
- #generate_composite_defaults_from_inquirer(inquirer) ⇒ Object
- #partition_key ⇒ Object
- #primary_key ⇒ Object
- #shard_key ⇒ Object
Instance Method Details
#clustering_columns ⇒ Object
11 12 13 |
# File 'lib/cassandra_model/composite_record_static.rb', line 11 def clustering_columns table_data.composite_clustering_columns ||= internal_clustering_columns.map { |column| trimmed_column(column, /^ck_/, composite_ck_map) || column } end |
#columns ⇒ Object
23 24 25 |
# File 'lib/cassandra_model/composite_record_static.rb', line 23 def columns table_data.composite_columns ||= composite_columns.each { |column| define_attribute(column) } end |
#composite_ck_map ⇒ Object
35 36 37 38 39 40 41 |
# File 'lib/cassandra_model/composite_record_static.rb', line 35 def composite_ck_map unless table_data.composite_ck_map table_data.composite_ck_map = {} columns end table_data.composite_ck_map end |
#composite_defaults ⇒ Object
43 44 45 |
# File 'lib/cassandra_model/composite_record_static.rb', line 43 def composite_defaults table_data.internal_defaults ||= build_composite_map end |
#composite_pk_map ⇒ Object
27 28 29 30 31 32 33 |
# File 'lib/cassandra_model/composite_record_static.rb', line 27 def composite_pk_map unless table_data.composite_pk_map table_data.composite_pk_map = {} columns end table_data.composite_pk_map end |
#generate_composite_defaults(column_defaults, truth_table) ⇒ Object
47 48 49 |
# File 'lib/cassandra_model/composite_record_static.rb', line 47 def generate_composite_defaults(column_defaults, truth_table) table_config.composite_defaults = truth_table.map { |row| column_defaults.except(*row) } end |
#generate_composite_defaults_from_inquirer(inquirer) ⇒ Object
51 52 53 54 55 56 57 |
# File 'lib/cassandra_model/composite_record_static.rb', line 51 def generate_composite_defaults_from_inquirer(inquirer) table_config.composite_defaults = inquirer.composite_rows.map do |row| row.inject({}) do |memo, column| memo.merge!(column => inquirer.column_defaults[column]) end end end |
#partition_key ⇒ Object
7 8 9 |
# File 'lib/cassandra_model/composite_record_static.rb', line 7 def partition_key table_data.composite_partition_key ||= internal_partition_key.map { |column| trimmed_column(column, /^rk_/, composite_pk_map) || column } end |
#primary_key ⇒ Object
15 16 17 18 19 20 21 |
# File 'lib/cassandra_model/composite_record_static.rb', line 15 def primary_key table_data.composite_primary_key ||= (internal_partition_key + internal_clustering_columns).map do |column| trimmed_column(column, /^rk_/, composite_pk_map) || trimmed_column(column, /^ck_/, composite_ck_map) || column end.uniq end |
#shard_key ⇒ Object
59 60 61 62 63 64 |
# File 'lib/cassandra_model/composite_record_static.rb', line 59 def shard_key table_data.composite_shard_key ||= begin column = super column =~ /^rk_/ ? composite_pk_map[column] : column end end |