class Worthwhile::WorkGenerator

Public Instance Methods

create_actor() click to toggle source
# File lib/generators/worthwhile/work/work_generator.rb, line 45
def create_actor
  template("actor.rb.erb", "app/actors/curation_concern/#{file_name}_actor.rb")
end
create_actor_spec() click to toggle source
# File lib/generators/worthwhile/work/work_generator.rb, line 36
def create_actor_spec
  return unless rspec_installed?
  template("actor_spec.rb.erb", "spec/actors/curation_concern/#{file_name}_actor_spec.rb")
end
create_controller() click to toggle source
# File lib/generators/worthwhile/work/work_generator.rb, line 41
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/worthwhile/work/work_generator.rb, line 31
def create_controller_spec
  return unless rspec_installed?
  template("controller_spec.rb.erb", "spec/controllers/curation_concern/#{plural_file_name}_controller_spec.rb")
end
create_model() click to toggle source
# File lib/generators/worthwhile/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 Worthwhile::WorkGenerator to include all the processed files.

# File lib/generators/worthwhile/work/work_generator.rb, line 23
def create_model_spec
  return unless rspec_installed?
  template "model_spec.rb.erb", "spec/repository_models/#{file_name}_spec.rb"
end
create_readme() click to toggle source
# File lib/generators/worthwhile/work/work_generator.rb, line 66
def create_readme
  readme 'README'
end
create_views() click to toggle source
# File lib/generators/worthwhile/work/work_generator.rb, line 58
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 'catalog/document', document: #{file_name}, document_counter: #{file_name}_counter  %>\n"
    data
  end
end
register_work() click to toggle source
# File lib/generators/worthwhile/work/work_generator.rb, line 49
def register_work
  inject_into_file 'config/initializers/worthwhile_config.rb', after: "Worthwhile.configure do |config|\n" do
    data = ""
    data << "  # Injected via `rails g worthwhile:work #{class_name}`\n"
    data << "  config.register_curation_concern :#{file_name}\n"
    data
  end
end

Private Instance Methods

rspec_installed?() click to toggle source
# File lib/generators/worthwhile/work/work_generator.rb, line 73
def rspec_installed?
  defined?(RSpec) && defined?(RSpec::Rails)
end