class Cucumber::Formatter::PublishBannerPrinter

Public Class Methods

new(configuration) click to toggle source
# File lib/cucumber/formatter/publish_banner_printer.rb, line 9
def initialize(configuration)
  return if configuration.publish_enabled?

  configuration.on_event :test_run_finished do |_event|
    display_publish_ad(configuration.error_stream)
  end
end

Public Instance Methods

display_publish_ad(io) click to toggle source

rubocop:disable Metrics/MethodLength

# File lib/cucumber/formatter/publish_banner_printer.rb, line 18
def display_publish_ad(io)
  display_banner(
    [
      [
        'Share your Cucumber Report with your team at ',
        link('https://reports.cucumber.io')
      ],
      '',
      [
        'Command line option:    ',
        highlight('--publish')
      ],
      [
        'Environment variable:   ',
        highlight('CUCUMBER_PUBLISH_ENABLED'),
        '=',
        highlight('true')
      ],
      [
        'cucumber.yml:           ',
        highlight('default: --publish')
      ],
      '',
      [
        'More information at ',
        link('https://cucumber.io/docs/cucumber/environment-variables/')
      ],
      '',
      [
        'To disable this message, specify ',
        pre('CUCUMBER_PUBLISH_QUIET=true'),
        ' or use the '
      ],
      [
        pre('--publish-quiet'),
        ' option. You can also add this to your ',
        pre('cucumber.yml:')
      ],
      [pre('default: --publish-quiet')]
    ],
    io
  )
end
highlight(text) click to toggle source

rubocop:enable Metrics/MethodLength

# File lib/cucumber/formatter/publish_banner_printer.rb, line 63
def highlight(text)
  [text, :cyan]
end
pre(text) click to toggle source
# File lib/cucumber/formatter/publish_banner_printer.rb, line 71
def pre(text)
  [text, :bold]
end