Class: PactBroker::Configuration
- Inherits:
-
Object
- Object
- PactBroker::Configuration
- Defined in:
- lib/pact_broker/configuration.rb
Constant Summary collapse
- SAVABLE_SETTING_NAMES =
[ :order_versions_by_date, :use_case_sensitive_resource_names, :enable_public_badge_access, :shields_io_base_url, :check_for_potential_duplicate_pacticipant_names, :webhook_retry_schedule, :semver_formats, :disable_ssl_verification ]
Instance Attribute Summary collapse
-
#api_error_reporters ⇒ Object
readonly
Returns the value of attribute api_error_reporters.
-
#auto_migrate_db ⇒ Object
Returns the value of attribute auto_migrate_db.
-
#check_for_potential_duplicate_pacticipant_names ⇒ Object
Returns the value of attribute check_for_potential_duplicate_pacticipant_names.
-
#database_connection ⇒ Object
Returns the value of attribute database_connection.
-
#disable_ssl_verification ⇒ Object
Returns the value of attribute disable_ssl_verification.
-
#enable_diagnostic_endpoints ⇒ Object
Returns the value of attribute enable_diagnostic_endpoints.
-
#enable_public_badge_access ⇒ Object
Returns the value of attribute enable_public_badge_access.
-
#html_pact_renderer ⇒ Object
Returns the value of attribute html_pact_renderer.
-
#log_dir ⇒ Object
Returns the value of attribute log_dir.
- #logger ⇒ Object
-
#order_versions_by_date ⇒ Object
Returns the value of attribute order_versions_by_date.
-
#semver_formats ⇒ Object
Returns the value of attribute semver_formats.
-
#shields_io_base_url ⇒ Object
Returns the value of attribute shields_io_base_url.
-
#use_case_sensitive_resource_names ⇒ Object
Returns the value of attribute use_case_sensitive_resource_names.
-
#use_hal_browser ⇒ Object
Returns the value of attribute use_hal_browser.
-
#validate_database_connection_config ⇒ Object
Returns the value of attribute validate_database_connection_config.
-
#version_parser ⇒ Object
Returns the value of attribute version_parser.
-
#webhook_retry_schedule ⇒ Object
Returns the value of attribute webhook_retry_schedule.
Class Method Summary collapse
Instance Method Summary collapse
- #add_api_error_reporter(&block) ⇒ Object
- #after_resource(&block) ⇒ Object
- #authenticate(&block) ⇒ Object
- #authenticate_with_basic_auth(&block) ⇒ Object
- #authentication_configured? ⇒ Boolean
- #authorization_configured? ⇒ Boolean
- #authorize(&block) ⇒ Object
- #base_url ⇒ Object
- #before_resource(&block) ⇒ Object
- #enable_badge_resources=(enable_badge_resources) ⇒ Object
-
#initialize ⇒ Configuration
constructor
A new instance of Configuration.
- #load_from_database! ⇒ Object
- #save_to_database ⇒ Object
Constructor Details
#initialize ⇒ Configuration
Returns a new instance of Configuration.
40 41 42 43 44 45 46 |
# File 'lib/pact_broker/configuration.rb', line 40 def initialize @before_resource_hook = ->(resource){} @after_resource_hook = ->(resource){} @authenticate_with_basic_auth = nil @authorize = nil @api_error_reporters = [] end |
Instance Attribute Details
#api_error_reporters ⇒ Object (readonly)
Returns the value of attribute api_error_reporters.
37 38 39 |
# File 'lib/pact_broker/configuration.rb', line 37 def api_error_reporters @api_error_reporters end |
#auto_migrate_db ⇒ Object
Returns the value of attribute auto_migrate_db.
29 30 31 |
# File 'lib/pact_broker/configuration.rb', line 29 def auto_migrate_db @auto_migrate_db end |
#check_for_potential_duplicate_pacticipant_names ⇒ Object
Returns the value of attribute check_for_potential_duplicate_pacticipant_names.
32 33 34 |
# File 'lib/pact_broker/configuration.rb', line 32 def check_for_potential_duplicate_pacticipant_names @check_for_potential_duplicate_pacticipant_names end |
#database_connection ⇒ Object
Returns the value of attribute database_connection.
29 30 31 |
# File 'lib/pact_broker/configuration.rb', line 29 def database_connection @database_connection end |
#disable_ssl_verification ⇒ Object
Returns the value of attribute disable_ssl_verification.
36 37 38 |
# File 'lib/pact_broker/configuration.rb', line 36 def disable_ssl_verification @disable_ssl_verification end |
#enable_diagnostic_endpoints ⇒ Object
Returns the value of attribute enable_diagnostic_endpoints.
30 31 32 |
# File 'lib/pact_broker/configuration.rb', line 30 def enable_diagnostic_endpoints @enable_diagnostic_endpoints end |
#enable_public_badge_access ⇒ Object
Returns the value of attribute enable_public_badge_access.
34 35 36 |
# File 'lib/pact_broker/configuration.rb', line 34 def enable_public_badge_access @enable_public_badge_access end |
#html_pact_renderer ⇒ Object
Returns the value of attribute html_pact_renderer.
29 30 31 |
# File 'lib/pact_broker/configuration.rb', line 29 def html_pact_renderer @html_pact_renderer end |
#log_dir ⇒ Object
Returns the value of attribute log_dir.
29 30 31 |
# File 'lib/pact_broker/configuration.rb', line 29 def log_dir @log_dir end |
#logger ⇒ Object
48 49 50 |
# File 'lib/pact_broker/configuration.rb', line 48 def logger @logger ||= create_logger log_path end |
#order_versions_by_date ⇒ Object
Returns the value of attribute order_versions_by_date.
31 32 33 |
# File 'lib/pact_broker/configuration.rb', line 31 def order_versions_by_date @order_versions_by_date end |
#semver_formats ⇒ Object
Returns the value of attribute semver_formats.
33 34 35 |
# File 'lib/pact_broker/configuration.rb', line 33 def semver_formats @semver_formats end |
#shields_io_base_url ⇒ Object
Returns the value of attribute shields_io_base_url.
34 35 36 |
# File 'lib/pact_broker/configuration.rb', line 34 def shields_io_base_url @shields_io_base_url end |
#use_case_sensitive_resource_names ⇒ Object
Returns the value of attribute use_case_sensitive_resource_names.
31 32 33 |
# File 'lib/pact_broker/configuration.rb', line 31 def use_case_sensitive_resource_names @use_case_sensitive_resource_names end |
#use_hal_browser ⇒ Object
Returns the value of attribute use_hal_browser.
29 30 31 |
# File 'lib/pact_broker/configuration.rb', line 29 def use_hal_browser @use_hal_browser end |
#validate_database_connection_config ⇒ Object
Returns the value of attribute validate_database_connection_config.
30 31 32 |
# File 'lib/pact_broker/configuration.rb', line 30 def validate_database_connection_config @validate_database_connection_config end |
#version_parser ⇒ Object
Returns the value of attribute version_parser.
30 31 32 |
# File 'lib/pact_broker/configuration.rb', line 30 def version_parser @version_parser end |
#webhook_retry_schedule ⇒ Object
Returns the value of attribute webhook_retry_schedule.
35 36 37 |
# File 'lib/pact_broker/configuration.rb', line 35 def webhook_retry_schedule @webhook_retry_schedule end |
Class Method Details
.default_configuration ⇒ Object
52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 |
# File 'lib/pact_broker/configuration.rb', line 52 def self.default_configuration require 'pact_broker/versions/parse_semantic_version' config = Configuration.new config.log_dir = File.("./log") config.auto_migrate_db = true config.use_hal_browser = true config.validate_database_connection_config = true config.enable_diagnostic_endpoints = true config.enable_public_badge_access = false # For security config.shields_io_base_url = "https://img.shields.io".freeze config.use_case_sensitive_resource_names = true config.html_pact_renderer = default_html_pact_render config.version_parser = PactBroker::Versions::ParseSemanticVersion # Not recommended to set this to true unless there is no way to # consistently extract an orderable object from the consumer application version number. config.order_versions_by_date = false config.semver_formats = ["%M.%m.%p%s%d", "%M.%m", "%M"] config.webhook_retry_schedule = [10, 60, 120, 300, 600, 1200] #10 sec, 1 min, 2 min, 5 min, 10 min, 20 min => 38 minutes config.check_for_potential_duplicate_pacticipant_names = true config.disable_ssl_verification = false config end |
.default_html_pact_render ⇒ Object
75 76 77 78 79 80 |
# File 'lib/pact_broker/configuration.rb', line 75 def self.default_html_pact_render lambda { |pact, | require 'pact_broker/api/renderers/html_pact_renderer' PactBroker::Api::Renderers::HtmlPactRenderer.call pact, } end |
Instance Method Details
#add_api_error_reporter(&block) ⇒ Object
130 131 132 133 134 135 136 137 138 |
# File 'lib/pact_broker/configuration.rb', line 130 def add_api_error_reporter &block if block_given? unless block.arity == 2 raise ConfigurationError.new("api_error_notfifier block must accept two arguments, 'error' and 'options'") end @api_error_reporters << block nil end end |
#after_resource(&block) ⇒ Object
122 123 124 125 126 127 128 |
# File 'lib/pact_broker/configuration.rb', line 122 def after_resource &block if block_given? @after_resource_hook = block else @after_resource_hook end end |
#authenticate(&block) ⇒ Object
86 87 88 89 90 91 92 |
# File 'lib/pact_broker/configuration.rb', line 86 def authenticate &block if block_given? @authenticate = block else @authenticate end end |
#authenticate_with_basic_auth(&block) ⇒ Object
94 95 96 97 98 99 100 |
# File 'lib/pact_broker/configuration.rb', line 94 def authenticate_with_basic_auth &block if block_given? @authenticate_with_basic_auth = block else @authenticate_with_basic_auth end end |
#authentication_configured? ⇒ Boolean
82 83 84 |
# File 'lib/pact_broker/configuration.rb', line 82 def authentication_configured? !!authenticate || !!authenticate_with_basic_auth end |
#authorization_configured? ⇒ Boolean
102 103 104 |
# File 'lib/pact_broker/configuration.rb', line 102 def !! end |
#authorize(&block) ⇒ Object
106 107 108 109 110 111 112 |
# File 'lib/pact_broker/configuration.rb', line 106 def &block if block_given? @authorize = block else @authorize end end |
#base_url ⇒ Object
145 146 147 |
# File 'lib/pact_broker/configuration.rb', line 145 def base_url ENV['PACT_BROKER_BASE_URL'] end |
#before_resource(&block) ⇒ Object
114 115 116 117 118 119 120 |
# File 'lib/pact_broker/configuration.rb', line 114 def before_resource &block if block_given? @before_resource_hook = block else @before_resource_hook end end |
#enable_badge_resources=(enable_badge_resources) ⇒ Object
140 141 142 143 |
# File 'lib/pact_broker/configuration.rb', line 140 def enable_badge_resources= enable_badge_resources puts "Pact Broker configuration property `enable_badge_resources` is deprecated. Please use `enable_public_badge_access`" self.enable_public_badge_access = enable_badge_resources end |
#load_from_database! ⇒ Object
155 156 157 158 159 |
# File 'lib/pact_broker/configuration.rb', line 155 def load_from_database! # Can't require a Sequel::Model class before the connection has been set require 'pact_broker/config/load' PactBroker::Config::Load.call(self) end |
#save_to_database ⇒ Object
149 150 151 152 153 |
# File 'lib/pact_broker/configuration.rb', line 149 def save_to_database # Can't require a Sequel::Model class before the connection has been set require 'pact_broker/config/save' PactBroker::Config::Save.call(self, SAVABLE_SETTING_NAMES) end |