Class: SourceMonitor::Release::Runner

Inherits:
Object
  • Object
show all
Defined in:
lib/source_monitor/release/runner.rb

Defined Under Namespace

Classes: Executor

Constant Summary collapse

CommandFailure =
Class.new(StandardError)
QUALITY_COMMANDS =
[
  [ "bin/rubocop" ],
  [ "bin/brakeman", "--no-pager" ],
  [ "bin/test-coverage" ],
  [ "bin/check-diff-coverage" ]
].freeze
GEM_BUILD_COMMAND =
[ "rbenv", "exec", "gem", "build", "source_monitor.gemspec" ].freeze

Instance Method Summary collapse

Constructor Details

#initialize(version:, executor: Executor.new, changelog: Changelog.new) ⇒ Runner

Returns a new instance of Runner.



19
20
21
22
23
# File 'lib/source_monitor/release/runner.rb', line 19

def initialize(version:, executor: Executor.new, changelog: Changelog.new)
  @version = version
  @executor = executor
  @changelog = changelog
end

Instance Method Details

#callObject



25
26
27
28
29
30
31
# File 'lib/source_monitor/release/runner.rb', line 25

def call
  validate_version!
  run_commands(QUALITY_COMMANDS)
  run_command(GEM_BUILD_COMMAND)
  create_annotated_tag
  true
end