Module: Moneta::Xattr::Implementation
- Included in:
- Moneta::Xattr
- Defined in:
- lib/moneta/xattr.rb
Instance Method Summary collapse
- #[](key) ⇒ Object
- #[]=(key, value) ⇒ Object
- #clear ⇒ Object
- #delete(key) ⇒ Object
- #fetch(key, value) ⇒ Object
- #has_key?(key) ⇒ Boolean
- #key?(key) ⇒ Boolean
- #store(key, value, options = {}) ⇒ Object
Instance Method Details
#[](key) ⇒ Object
33 34 35 36 |
# File 'lib/moneta/xattr.rb', line 33 def [](key) return nil unless key?(key) Marshal.load(@hash.get(key)) end |
#[]=(key, value) ⇒ Object
38 39 40 |
# File 'lib/moneta/xattr.rb', line 38 def []=(key, value) @hash.set(key, Marshal.dump(value)) end |
#clear ⇒ Object
57 58 59 60 61 |
# File 'lib/moneta/xattr.rb', line 57 def clear @hash.list.each do |item| @hash.remove(item) end end |
#delete(key) ⇒ Object
46 47 48 49 50 51 |
# File 'lib/moneta/xattr.rb', line 46 def delete(key) return nil unless key?(key) value = self[key] @hash.remove(key) value end |
#fetch(key, value) ⇒ Object
42 43 44 |
# File 'lib/moneta/xattr.rb', line 42 def fetch(key, value) self[key] || value end |
#has_key?(key) ⇒ Boolean
29 30 31 |
# File 'lib/moneta/xattr.rb', line 29 def has_key?(key) @hash.list.include?(key) end |
#key?(key) ⇒ Boolean
25 26 27 |
# File 'lib/moneta/xattr.rb', line 25 def key?(key) @hash.list.include?(key) end |
#store(key, value, options = {}) ⇒ Object
53 54 55 |
# File 'lib/moneta/xattr.rb', line 53 def store(key, value, = {}) self[key] = value end |