Class: RServiceBus2::SubscriptionStorageFile

Inherits:
SubscriptionStorage show all
Defined in:
lib/rservicebus2/subscription_storage/file.rb

Overview

Implementation of Subscription Storage to Redis

Instance Method Summary collapse

Methods inherited from SubscriptionStorage

#initialize

Constructor Details

This class inherits a constructor from RServiceBus2::SubscriptionStorage

Instance Method Details

#add(event_name, queue_name) ⇒ Object



13
14
15
16
17
18
19
20
21
22
23
# File 'lib/rservicebus2/subscription_storage/file.rb', line 13

def add(event_name, queue_name)
  s = File.exist?(@uri.path) ? RServiceBus2.safe_load(File.open(@uri.path)) : {}
  s[event_name] = [] if s[event_name].nil?

  s[event_name] << queue_name
  s[event_name] = s[event_name].uniq

  File.open(@uri.path, 'w') { |f| f.write(YAML.dump(s)) }

  s
end

#allObject



6
7
8
9
10
11
# File 'lib/rservicebus2/subscription_storage/file.rb', line 6

def all
  RServiceBus2.log 'Load subscriptions'
  return {} unless File.exist?(@uri.path)

  RServiceBus2.safe_load(File.open(@uri.path))
end

#remove(_event_name, _queue_name) ⇒ Object



25
26
27
# File 'lib/rservicebus2/subscription_storage/file.rb', line 25

def remove(_event_name, _queue_name)
  raise 'Method, remove, needs to be implemented for this subscription storage'
end