Class: Curate::WorkGenerator

Inherits:
Rails::Generators::NamedBase
  • Object
show all
Defined in:
lib/generators/curate/work/work_generator.rb

Instance Method Summary collapse

Instance Method Details

#create_actorObject



47
48
49
# File 'lib/generators/curate/work/work_generator.rb', line 47

def create_actor
  template("actor.rb.erb", "app/services/curation_concern/#{file_name}_actor.rb")
end

#create_actor_specObject



35
36
37
# File 'lib/generators/curate/work/work_generator.rb', line 35

def create_actor_spec
  template("actor_spec.rb.erb", "spec/services/curation_concern/#{file_name}_actor_spec.rb")
end

#create_controllerObject



44
45
46
# File 'lib/generators/curate/work/work_generator.rb', line 44

def create_controller
  template("controller.rb.erb", "app/controllers/curation_concern/#{plural_file_name}_controller.rb")
end

#create_controller_specObject



32
33
34
# File 'lib/generators/curate/work/work_generator.rb', line 32

def create_controller_spec
  template("controller_spec.rb.erb", "spec/controllers/curation_concern/#{plural_file_name}_controller_spec.rb")
end

#create_datastreamObject



41
42
43
# File 'lib/generators/curate/work/work_generator.rb', line 41

def create_datastream
  template("datastream.rb.erb", "app/repository_datastreams/#{file_name}_rdf_datastream.rb")
end

#create_factoryObject



38
39
40
# File 'lib/generators/curate/work/work_generator.rb', line 38

def create_factory
  template("factory.rb.erb", "spec/factories/#{plural_file_name}_factory.rb")
end

#create_modelObject



29
30
31
# File 'lib/generators/curate/work/work_generator.rb', line 29

def create_model
  template("model.rb.erb", "app/repository_models/#{file_name}.rb")
end

#create_model_specObject

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



25
26
27
28
# File 'lib/generators/curate/work/work_generator.rb', line 25

def create_model_spec
  append_doi_initializer if register_doi?
  template "model_spec.rb.erb", "spec/repository_models/#{file_name}_spec.rb"
end

#create_readmeObject



68
69
70
# File 'lib/generators/curate/work/work_generator.rb', line 68

def create_readme
  readme 'README'
end

#create_viewsObject



60
61
62
63
64
65
66
# File 'lib/generators/curate/work/work_generator.rb', line 60

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_workObject



51
52
53
54
55
56
57
58
# File 'lib/generators/curate/work/work_generator.rb', line 51

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