Class: RServiceBus2::SubscriptionStorageFile
- Inherits:
-
SubscriptionStorage
- Object
- SubscriptionStorage
- RServiceBus2::SubscriptionStorageFile
- Defined in:
- lib/rservicebus2/subscription_storage/file.rb
Overview
Implementation of Subscription Storage to Redis
Instance Method Summary collapse
- #add(event_name, queue_name) ⇒ Object
- #get_all ⇒ Object
-
#initialize(app_name, uri) ⇒ SubscriptionStorageFile
constructor
Constructor.
- #remove(_event_name, _queue_name) ⇒ Object
Constructor Details
#initialize(app_name, uri) ⇒ SubscriptionStorageFile
Constructor
8 9 10 |
# File 'lib/rservicebus2/subscription_storage/file.rb', line 8 def initialize(app_name, uri) super(app_name, uri) end |
Instance Method Details
#add(event_name, queue_name) ⇒ Object
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/rservicebus2/subscription_storage/file.rb', line 19 def add(event_name, queue_name) # s => subscriptions if File.exist?(@uri.path) s = YAML.load(File.open(@uri.path)) else s = {} end 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 |
#get_all ⇒ Object
12 13 14 15 16 17 |
# File 'lib/rservicebus2/subscription_storage/file.rb', line 12 def get_all RServiceBus2.log 'Load subscriptions' return {} unless File.exist?(@uri.path) YAML.load(File.open(@uri.path)) end |
#remove(_event_name, _queue_name) ⇒ Object
37 38 39 40 |
# File 'lib/rservicebus2/subscription_storage/file.rb', line 37 def remove(_event_name, _queue_name) fail 'Method, remove, needs to be implemented for this subscription storage' end |