Class: Spotlight::ScaffoldResource
- Inherits:
-
Rails::Generators::NamedBase
- Object
- Rails::Generators::NamedBase
- Spotlight::ScaffoldResource
- Defined in:
- lib/generators/spotlight/scaffold_resource_generator.rb
Overview
spotlight:scaffold_resource generator
Instance Method Summary collapse
- #create_controller ⇒ Object
- #create_document_builder ⇒ Object
- #create_form ⇒ Object
- #create_model ⇒ Object
Instance Method Details
#create_controller ⇒ Object
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_builder ⇒ Object
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_form ⇒ Object
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_model ⇒ Object
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 |