class Curate::WorkGenerator

Public Instance Methods

create_actor() click to toggle source
# File lib/generators/curate/work/work_generator.rb, line 46
def create_actor
  template("actor.rb.erb", "app/services/curation_concern/#{file_name}_actor.rb")
end
create_actor_spec() click to toggle source
# File lib/generators/curate/work/work_generator.rb, line 34
def create_actor_spec
  template("actor_spec.rb.erb", "spec/services/curation_concern/#{file_name}_actor_spec.rb")
end
create_controller() click to toggle source
# File lib/generators/curate/work/work_generator.rb, line 43
def create_controller
  template("controller.rb.erb", "app/controllers/curation_concern/#{plural_file_name}_controller.rb")
end
create_controller_spec() click to toggle source
# File lib/generators/curate/work/work_generator.rb, line 31
def create_controller_spec
  template("controller_spec.rb.erb", "spec/controllers/curation_concern/#{plural_file_name}_controller_spec.rb")
end
create_datastream() click to toggle source
# File lib/generators/curate/work/work_generator.rb, line 40
def create_datastream
  template("datastream.rb.erb", "app/repository_datastreams/#{file_name}_rdf_datastream.rb")
end
create_factory() click to toggle source
# File lib/generators/curate/work/work_generator.rb, line 37
def create_factory
  template("factory.rb.erb", "spec/factories/#{plural_file_name}_factory.rb")
end
create_model() click to toggle source
# File lib/generators/curate/work/work_generator.rb, line 28
def create_model
  template("model.rb.erb", "app/repository_models/#{file_name}.rb")
end
create_model_spec() click to toggle source

Why all of these antics with defining individual methods? Because I want the output of Curate::WorkGenerator to include all the processed files.

# File lib/generators/curate/work/work_generator.rb, line 24
def create_model_spec
  append_doi_initializer if register_doi?
  template "model_spec.rb.erb", "spec/repository_models/#{file_name}_spec.rb"
end
create_readme() click to toggle source
# File lib/generators/curate/work/work_generator.rb, line 67
def create_readme
  readme 'README'
end
create_views() click to toggle source
# File lib/generators/curate/work/work_generator.rb, line 59
def create_views
  create_file "app/views/curation_concern/#{plural_file_name}/_#{file_name}.html.erb" do
    data = "<%# This is a search result view %>\n"
    data << "<%= render partial: 'catalog/document', locals: {document: #{file_name}, document_counter: #{file_name}_counter } %>\n"
    data
  end
end
register_work() click to toggle source
# File lib/generators/curate/work/work_generator.rb, line 50
def register_work
  inject_into_file 'config/initializers/curate_config.rb', after: "Curate.configure do |config|\n" do
    data = ""
    data << "  # Injected via `rails g curate:work #{class_name}`\n"
    data << "  config.register_curation_concern :#{file_name}\n"
    data
  end
end

Private Instance Methods

append_doi_initializer() click to toggle source
# File lib/generators/curate/work/work_generator.rb, line 76
def append_doi_initializer
  args = ['curate:work:with_doi', "#{file_name}"]
  if behavior == :revoke
    destroy(*args)
  else
    generate(*args)
  end
end
register_doi?() click to toggle source
# File lib/generators/curate/work/work_generator.rb, line 72
def register_doi?
  !!options['doi']
end