Class: Spotlight::ScaffoldResource

Inherits:
Rails::Generators::NamedBase
  • Object
show all
Defined in:
lib/generators/spotlight/scaffold_resource_generator.rb

Overview

spotlight:scaffold_resource generator

Instance Method Summary collapse

Instance Method Details

#create_controllerObject



23
24
25
26
27
28
29
30
31
32
33
# File 'lib/generators/spotlight/scaffold_resource_generator.rb', line 23

def create_controller
  create_file "app/controllers/#{file_name}_resources_controller.rb", "class \#{class_name}ResourcesController < Spotlight::ResourcesController\nprivate\n\ndef resource_class\n\#{class_name}Resource\nend\nend\n".strip_heredoc
end

#create_formObject



35
36
37
38
39
40
41
42
43
44
45
46
47
# File 'lib/generators/spotlight/scaffold_resource_generator.rb', line 35

def create_form
  create_file "app/views/#{file_name}_resources/_form.html.erb", "<%= bootstrap_form_for([current_exhibit, @resource.becomes(\#{class_name}Resource)], as: :resource) do |f| %>\n<%= f.text_field :url  %>\n<div class=\"form-actions\">\n<div class=\"primary-actions\">\n<%= cancel_link @resource, :back, class: 'btn btn-secondary' %>\n<%= f.submit t('.add_item'), class: 'btn btn-primary' %>\n</div>\n</div>\n<% end if can? :manage, @resource %>\n".strip_heredoc
end

#create_modelObject



11
12
13
14
15
16
17
18
19
20
21
# File 'lib/generators/spotlight/scaffold_resource_generator.rb', line 11

def create_model
  create_file "app/models/#{file_name}_resource.rb", "class \#{class_name}Resource < Spotlight::Resource\ndef self.indexing_pipeline\n@indexing_pipeline ||= super.dup.tap do |pipeline|\n# your pipeline here...\nend\nend\nend\n".strip_heredoc
end