Class: RemoteFiles::MemoryStore
Instance Attribute Summary
#identifier
Class Method Summary
collapse
Instance Method Summary
collapse
#[]=, #file_from_url, #initialize, #options, #read_only?, #to_sym
Class Method Details
.clear! ⇒ Object
14
15
16
17
18
19
20
21
|
# File 'lib/remote_files/memory_store.rb', line 14
def self.clear!
RemoteFiles::CONFIGURATIONS.values.each do |config|
next unless config.configured?
config.stores.each do |store|
store.clear! if store.is_a?(RemoteFiles::MemoryStore)
end
end
end
|
Instance Method Details
#clear! ⇒ Object
10
11
12
|
# File 'lib/remote_files/memory_store.rb', line 10
def clear!
data.clear
end
|
#data ⇒ Object
6
7
8
|
# File 'lib/remote_files/memory_store.rb', line 6
def data
@data ||= {}
end
|
#delete!(identifier) ⇒ Object
42
43
44
45
|
# File 'lib/remote_files/memory_store.rb', line 42
def delete!(identifier)
raise NotFoundError, "#{identifier} not found in #{self.identifier} store" unless data.has_key?(identifier)
data.delete(identifier)
end
|
#directory_name ⇒ Object
38
39
40
|
# File 'lib/remote_files/memory_store.rb', line 38
def directory_name
self.identifier.to_s
end
|
#retrieve!(identifier) ⇒ Object
28
29
30
31
32
33
34
35
36
|
# File 'lib/remote_files/memory_store.rb', line 28
def retrieve!(identifier)
raise NotFoundError, "#{identifier} not found in #{self.identifier} store" unless data.has_key?(identifier)
File.new(identifier,
:content => data[identifier][:content],
:content_type => data[identifier][:content_type],
:stored_in => [self]
)
end
|
#store!(file) ⇒ Object
23
24
25
26
|
# File 'lib/remote_files/memory_store.rb', line 23
def store!(file)
content = file.content.respond_to?(:read) ? file.content.read : file.content
data[file.identifier] = { :content => content, :content_type => file.content_type}
end
|
#url(identifier) ⇒ Object
47
48
49
|
# File 'lib/remote_files/memory_store.rb', line 47
def url(identifier)
"memory://#{self.identifier}/#{identifier}"
end
|
#url_matcher ⇒ Object
51
52
53
|
# File 'lib/remote_files/memory_store.rb', line 51
def url_matcher
@url_matcher ||= /memory:\/\/#{identifier}\/(.*)/
end
|