Module: ExternalServices::RSpec::Disabler
- Defined in:
- lib/rspec/disabler.rb
Class Method Summary collapse
- .add_external_service(name) ⇒ Object
- .disable_external_services(except: []) ⇒ Object
- .enable_external_services ⇒ Object
- .set_external_service_disabled_value(klass, service, value) ⇒ Object
Class Method Details
.add_external_service(name) ⇒ Object
10 11 12 13 |
# File 'lib/rspec/disabler.rb', line 10 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: []) ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/rspec/disabler.rb', line 15 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 ⇒ Object
28 29 30 31 32 33 34 |
# File 'lib/rspec/disabler.rb', line 28 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) ⇒ Object
36 37 38 |
# File 'lib/rspec/disabler.rb', line 36 def set_external_service_disabled_value(klass, service, value) klass.send("#{service}_api_disabled=", value) if klass.respond_to?("#{service}_api_disabled") end |