Class: Milestoner::Configuration::Transformers::Citations::URI

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

Overview

Conditionally updates project URI based on citation URL.

Instance Method Summary collapse

Constructor Details

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

Returns a new instance of URI.



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

def initialize key = :project_uri,
               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/uri.rb', line 23

def call attributes
  process attributes
  Success attributes
rescue KeyError => error
  Failure step: :transform,
          payload: "Unable to transform #{key.inspect}, missing specifier: " \
                   "\"#{error.message[/<.+>/]}\"."
end