Skip to content
Beth Skurrie edited this page Jul 14, 2017 · 36 revisions

Default configuration values

Change them to your desired values in the config.ru

app = PactBroker::App.new do | config |
  config.log_dir = File.expand_path("./log")
  config.auto_migrate_db = true
  config.use_hal_browser = true
  config.validate_database_connection_config = true
  config.enable_diagnostic_endpoints = true
  config.use_case_sensitive_resource_names = true
  config.html_pact_renderer = default_html_pact_render
  config.version_parser = PactBroker::Versions::ParseSemanticVersion
  config.enable_badge_resources = false
  config.shields_io_base_url = "https://img.shields.io"
end

Badges

By default, the badge resources are turned off for security purposes. Badges are designed to be displayed in README files, and there is no secure way to store authentication credentials in a README file. If you feel that the joy provided by a funky little pact status badge on the top of your README balances out the potential risk of exposing the verification status of your pacts to a nefarious hackor, then set config.enable_badge_resources to true.

Version parser

Configure version_parser with a lambda or an object/class that responds to call. It should accept a string, and return a sortable object if the version is valid, and nil if the version is not valid.

class MyCustomVersionParser
  def self.call string_version
    ....
  end
end

PactBroker::App.new do | config |
  config.version_parser = MyCustomVersionParser
end

If you want to customise the error messages to indicate what sort of version format is expected, create a yml file with the following:

en:
  pact_broker:
    errors:
      validation:
        consumer_version_number_header_invalid: "Custom message"
        consumer_version_number_invalid: "Custom message"
# In config.ru, after configuring the Pact Broker app
I18n.config.load_path << "./path/to/your/custom/messages/file.yml"