Class: Milestoner::Commits::Versioner

Inherits:
Object
  • Object
show all
Defined in:
lib/milestoner/commits/versioner.rb

Overview

Calculates next version based on commit trailer version keys.

Constant Summary collapse

DEFAULTS =
{trailer_key: "Milestone", fallback: Versionaire::Version.new}.freeze

Instance Method Summary collapse

Constructor Details

#initialize(defaults: DEFAULTS, collector: Collector.new) ⇒ Versioner

Returns a new instance of Versioner.



18
19
20
21
22
# File 'lib/milestoner/commits/versioner.rb', line 18

def initialize(defaults: DEFAULTS, collector: Collector.new, **)
  super(**)
  @defaults = defaults
  @collector = collector
end

Instance Method Details

#callObject



24
25
26
27
# File 'lib/milestoner/commits/versioner.rb', line 24

def call
  trailer_milestones.then { |milestones| bump milestones }
                    .value_or(fallback)
end