Class: Milestoner::Configuration::Transformers::Citations::Description

Inherits:
Object
  • Object
show all
Defined in:
lib/milestoner/configuration/transformers/citations/description.rb

Overview

Conditionally updates project description based on citation details.

Instance Method Summary collapse

Constructor Details

#initialize(key = :project_description, path: Pathname.pwd.join("CITATION.cff"), citation: CFF::File) ⇒ Description

Returns a new instance of Description.



15
16
17
18
19
20
21
# File 'lib/milestoner/configuration/transformers/citations/description.rb', line 15

def initialize key = :project_description,
               path: Pathname.pwd.join("CITATION.cff"),
               citation: CFF::File
  @key = key
  @path = path
  @citation = citation
end

Instance Method Details

#call(attributes) ⇒ Object



23
24
25
26
27
28
29
30
# File 'lib/milestoner/configuration/transformers/citations/description.rb', line 23

def call attributes
  attributes.fetch key do
    value = citation.open(path).abstract
    attributes.merge! key => value unless value.empty?
  end

  Success attributes
end