module ExternalServices::RSpec::Disabler
Public Instance Methods
add_external_service(name)
click to toggle source
# File lib/rspec/disabler.rb, line 8 def add_external_service(name) self.external_services ||= [] self.external_services << name.to_sym unless self.external_services.include? name.to_sym end
disable_external_services(except: [])
click to toggle source
# File lib/rspec/disabler.rb, line 13 def disable_external_services(except: []) except = [except] unless except.is_a?(Array) except = except.map(&:to_sym) external_services.each do |name| next if name.in? except ::ActiveRecord::Base.descendants.each do |klass| set_external_service_disabled_value klass, name, true end end end
enable_external_services()
click to toggle source
# File lib/rspec/disabler.rb, line 26 def enable_external_services external_services.each do |name| ::ActiveRecord::Base.descendants.each do |klass| set_external_service_disabled_value klass, name, false end end end
set_external_service_disabled_value(klass, service, value)
click to toggle source
# File lib/rspec/disabler.rb, line 34 def set_external_service_disabled_value(klass, service, value) klass.send("#{service}_api_disabled=", value) if klass.respond_to?("#{service}_api_disabled") end