Class: Curate::Work::WithDoiGenerator

Inherits:
Rails::Generators::Base
  • Object
show all
Defined in:
lib/generators/curate/work/with_doi/with_doi_generator.rb

Instance Method Summary collapse

Instance Method Details

#append_doi_initializerObject



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/generators/curate/work/with_doi/with_doi_generator.rb', line 7

def append_doi_initializer
  options = targets
  options << [%(--target='{|obj| Curate.permanent_url_for(obj) }')]
  options << [%(--creator=:creator)]
  options << [%(--title=:title)]
  options << [%(--publisher='{|o| Array(o.publisher).join("; ")}')]
  options << [%(--publication_year='{|o| o.date_uploaded.year }')]
  options << [%(--set_identifier='{|o,value| o.identifier = value; o.save }')]
  args = ['hydra:remote_identifier:doi', options.join(" ")]

  if behavior == :revoke
    destroy(*args)
  else
    generate(*args)
  end

end