Class: PersistentHash::Hash
- Inherits:
-
ActiveRecord::Base
- Object
- ActiveRecord::Base
- PersistentHash::Hash
- Defined in:
- app/models/persistent_hash/hash.rb
Class Method Summary collapse
-
.[](key_name) ⇒ Object
fetch a value from the hash.
-
.[]=(key_name, value) ⇒ Object
save a value in the hash.
Class Method Details
.[](key_name) ⇒ Object
fetch a value from the hash.
25 26 27 28 29 30 31 32 33 |
# File 'app/models/persistent_hash/hash.rb', line 25 def self.[](key_name) value = nil item = select(:marshalled).where(key_name: key_name).first if item value = Marshal.load(Base64.decode64(item.marshalled)) end value end |
.[]=(key_name, value) ⇒ Object
save a value in the hash
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
# File 'app/models/persistent_hash/hash.rb', line 6 def self.[]=(key_name, value) item = where(key_name: key_name) .lock .first_or_initialize if value.nil? item.destroy else formatted = PersistentHash::Formatter.format(value) item.update( readable_value: formatted, marshalled: Base64.encode64(Marshal.dump(value)) ) end end |