Class: DatastaxRails::Types::DynamicMap
- Inherits:
-
ActiveSupport::HashWithIndifferentAccess
- Object
- ActiveSupport::HashWithIndifferentAccess
- DatastaxRails::Types::DynamicMap
- Includes:
- DirtyCollection
- Defined in:
- lib/datastax_rails/types/dynamic_map.rb
Overview
A collection type that allows you to store key/value pairs in Cassandra. Changes are tracked by hooking into ActiveModel’s built-in change tracking.
Keys are converted to have the name of the collection prefixed to them as this is how the Solr/Cassandra integration converts between them and dynamic fields.
Instance Method Summary collapse
Methods included from DirtyCollection
#delete, ignore_modifications, #initialize
Instance Method Details
#[](key) ⇒ Object
19 20 21 |
# File 'lib/datastax_rails/types/dynamic_map.rb', line 19 def [](key) super(convert_key(key)) end |
#convert_key(key) ⇒ Object
23 24 25 26 |
# File 'lib/datastax_rails/types/dynamic_map.rb', line 23 def convert_key(key) key = name + key.to_s unless key.to_s.starts_with?(name) super(key) end |
#dup ⇒ Object
13 14 15 16 17 |
# File 'lib/datastax_rails/types/dynamic_map.rb', line 13 def dup self.class.new(record, name, self).tap do |new_hash| new_hash.default = default end end |