Class: Shrine::Storage::Memory
- Inherits:
-
Object
- Object
- Shrine::Storage::Memory
- Defined in:
- lib/shrine/storage/memory.rb
Instance Attribute Summary collapse
-
#store ⇒ Object
readonly
Returns the value of attribute store.
Instance Method Summary collapse
- #clear! ⇒ Object
- #delete(id) ⇒ Object
- #delete_prefixed(delete_prefix) ⇒ Object
- #exists?(id) ⇒ Boolean
-
#initialize(store = {}) ⇒ Memory
constructor
A new instance of Memory.
- #open(id) ⇒ Object
- #upload(io, id) ⇒ Object
- #url(id) ⇒ Object
Constructor Details
#initialize(store = {}) ⇒ Memory
Returns a new instance of Memory.
11 12 13 |
# File 'lib/shrine/storage/memory.rb', line 11 def initialize(store = {}) @store = store end |
Instance Attribute Details
#store ⇒ Object (readonly)
Returns the value of attribute store.
9 10 11 |
# File 'lib/shrine/storage/memory.rb', line 9 def store @store end |
Instance Method Details
#clear! ⇒ Object
42 43 44 |
# File 'lib/shrine/storage/memory.rb', line 42 def clear! store.clear end |
#delete(id) ⇒ Object
33 34 35 |
# File 'lib/shrine/storage/memory.rb', line 33 def delete(id) store.delete(id) end |
#delete_prefixed(delete_prefix) ⇒ Object
37 38 39 40 |
# File 'lib/shrine/storage/memory.rb', line 37 def delete_prefixed(delete_prefix) delete_prefix = delete_prefix.chomp("/") + "/" store.delete_if { |key, _value| key.start_with?(delete_prefix) } end |
#exists?(id) ⇒ Boolean
25 26 27 |
# File 'lib/shrine/storage/memory.rb', line 25 def exists?(id) store.key?(id) end |
#open(id) ⇒ Object
19 20 21 22 23 |
# File 'lib/shrine/storage/memory.rb', line 19 def open(id, *) StringIO.new(store.fetch(id)) rescue KeyError raise Shrine::FileNotFound, "file #{id.inspect} not found on storage" end |
#upload(io, id) ⇒ Object
15 16 17 |
# File 'lib/shrine/storage/memory.rb', line 15 def upload(io, id, *) store[id] = io.read end |
#url(id) ⇒ Object
29 30 31 |
# File 'lib/shrine/storage/memory.rb', line 29 def url(id, *) "memory://#{id}" end |