class Linter
Constants
- MissingSubscriptions
Attributes
config[R]
Public Class Methods
new(config)
click to toggle source
# File lib/pub_sub/linter.rb, line 4 def initialize(config) @config = config end
Public Instance Methods
lint!()
click to toggle source
# File lib/pub_sub/linter.rb, line 8 def lint! raise MissingSubscriptions, error_message if missing_subscriptions.present? end
Private Instance Methods
error_message()
click to toggle source
# File lib/pub_sub/linter.rb, line 14 def error_message "The following subscriptions are missing: \n#{missing_subscriptions.join("\n")}" end
handlers_list()
click to toggle source
# File lib/pub_sub/linter.rb, line 32 def handlers_list Dir[Rails.root.join('app/event_handlers/*/*.rb')].map do |file_path| file_path. sub("#{Rails.root}/app/event_handlers/", ''). sub('_handler.rb', '') end end
missing_subscriptions()
click to toggle source
# File lib/pub_sub/linter.rb, line 18 def missing_subscriptions (handlers_list - subscriptions_list) end
subscriptions_list()
click to toggle source
# File lib/pub_sub/linter.rb, line 24 def subscriptions_list config.flat_map do |domain_name, subscriptions| subscriptions.keys.map do |event_name| "#{domain_name}/#{event_name.sub('__', '_')}" end end end