Class: AsyncRequestReply::RepositoryAdapters::IORepositoryAdapter

Inherits:
AbstractRepositoryAdapter show all
Defined in:
lib/async_request_reply/repository_adapters/i_o_repository_adapter.rb

Constant Summary collapse

@@prefix =
".async_request_reply".freeze

Class Method Summary collapse

Class Method Details

.del(uuid) ⇒ Object



20
21
22
# File 'lib/async_request_reply/repository_adapters/i_o_repository_adapter.rb', line 20

def del(uuid)
	File.delete("#{@@prefix}/#{uuid}")
end

.get(uuid) ⇒ Object



11
12
13
14
15
16
17
18
# File 'lib/async_request_reply/repository_adapters/i_o_repository_adapter.rb', line 11

def get(uuid)
	begin
		IO.binread("#{@@prefix}/#{uuid}")
	rescue StandardError => e
		return nil if e.is_a?(Errno::ENOENT)
		raise e
	end
end

.setex(uuid, ttl = nil, payload) ⇒ Object



24
25
26
27
28
# File 'lib/async_request_reply/repository_adapters/i_o_repository_adapter.rb', line 24

def setex(uuid, ttl = nil, payload)
	Dir.mkdir(@@prefix) unless Dir.exist?(@@prefix)
	IO.binwrite("#{@@prefix}/#{uuid}", payload)
	self.get(uuid)
end