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