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



29
30
31
32
33
34
35
36
37
38
39
# File 'lib/generators/spotlight/scaffold_resource_generator.rb', line 29

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

#create_document_builderObject



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

def create_document_builder
  create_file "app/services/#{file_name}_builder.rb", "    class \#{class_name}Builder < Spotlight::SolrDocumentBuilder\n      def to_solr\n        return to_enum(:to_solr) unless block_given?\n\n        # TODO: your implementation here\n        # yield { id: resource.id }\n      end\n    end\n".strip_heredoc
end

#create_formObject



41
42
43
44
45
46
47
48
49
50
51
52
53
# File 'lib/generators/spotlight/scaffold_resource_generator.rb', line 41

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-default' %>\n        <%= f.submit t('.add_item'), class: 'btn btn-primary' %>\n      </div>\n    </div>\n  <% end if can? :manage, @resource %>\n  FILE\nend\n".strip_heredoc

#create_modelObject



21
22
23
24
25
26
27
# File 'lib/generators/spotlight/scaffold_resource_generator.rb', line 21

def create_model
  create_file "app/models/#{file_name}_resource.rb", "    class \#{class_name}Resource < Spotlight::Resource\n      self.document_builder_class = \#{class_name}Builder\n    end\n  FILE\nend\n".strip_heredoc