Class: Milestoner::Tags::Enricher

Inherits:
Object
  • Object
show all
Defined in:
lib/milestoner/tags/enricher.rb

Overview

Builds a collection of enriched tags and associated commits. :reek:TooManyMethods

Instance Method Summary collapse

Constructor Details

#initialize(committer: Commits::Enricher.new, model: Models::Tag) ⇒ Enricher



21
22
23
24
25
# File 'lib/milestoner/tags/enricher.rb', line 21

def initialize(committer: Commits::Enricher.new, model: Models::Tag, **)
  super(**)
  @committer = committer
  @model = model
end

Instance Method Details

#callObject



27
28
29
30
31
# File 'lib/milestoner/tags/enricher.rb', line 27

def call
  collect.fmap { |tags| adjust tags }
         .fmap { |references| slice(references).reverse }
         .bind { |tags| tags.empty? ? Failure("No tags or commits.") : Success(tags) }
end