class WebValve::FakeServiceConfig
Attributes
custom_service_url[R]
service_class_name[R]
Public Class Methods
new(service_class_name:, url: nil)
click to toggle source
# File lib/webvalve/fake_service_config.rb, line 5 def initialize(service_class_name:, url: nil) @service_class_name = service_class_name @custom_service_url = url end
Public Instance Methods
explicitly_disabled?()
click to toggle source
# File lib/webvalve/fake_service_config.rb, line 14 def explicitly_disabled? value_from_env.present? && WebValve::DISABLED_VALUES.include?(value_from_env.to_s) end
explicitly_enabled?()
click to toggle source
# File lib/webvalve/fake_service_config.rb, line 10 def explicitly_enabled? value_from_env.present? && WebValve::ENABLED_VALUES.include?(value_from_env.to_s) end
full_url()
click to toggle source
# File lib/webvalve/fake_service_config.rb, line 18 def full_url @full_url ||= custom_service_url || default_service_url end
path_prefix()
click to toggle source
# File lib/webvalve/fake_service_config.rb, line 29 def path_prefix @path_prefix ||= URI::parse(service_url).path end
service_url()
click to toggle source
# File lib/webvalve/fake_service_config.rb, line 22 def service_url @service_url ||= begin raise missing_url_message if full_url.blank? strip_basic_auth full_url end end
Private Instance Methods
default_service_url()
click to toggle source
# File lib/webvalve/fake_service_config.rb, line 53 def default_service_url ENV["#{service_name.to_s.upcase}_API_URL"] end
missing_url_message()
click to toggle source
# File lib/webvalve/fake_service_config.rb, line 41 def missing_url_message <<~MESSAGE There is no URL defined for #{service_class_name}. Configure one by setting the ENV variable "#{service_name.to_s.upcase}_API_URL" or by using WebValve.register "#{service_class_name}", url: "http://something.dev" MESSAGE end
service_name()
click to toggle source
# File lib/webvalve/fake_service_config.rb, line 57 def service_name @service_name ||= service_class_name.demodulize.underscore.sub 'fake_', '' end
strip_basic_auth(url)
click to toggle source
# File lib/webvalve/fake_service_config.rb, line 49 def strip_basic_auth(url) url.to_s.sub(%r(\Ahttp(s)?://[^@/]+@), 'http\1://') end
value_from_env()
click to toggle source
# File lib/webvalve/fake_service_config.rb, line 37 def value_from_env ENV["#{service_name.to_s.upcase}_ENABLED"] end