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", <<-FILE.strip_heredoc class #{class_name}ResourcesController < Spotlight::ResourcesController private def resource_class #{class_name}Resource end end FILE end |
#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", <<-FILE.strip_heredoc class #{class_name}Builder < Spotlight::SolrDocumentBuilder def to_solr return to_enum(:to_solr) unless block_given? # TODO: your implementation here # yield { id: resource.id } end end FILE 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", <<-FILE.strip_heredoc <%= bootstrap_form_for([current_exhibit, @resource.becomes(#{class_name}Resource)], as: :resource) do |f| %> <%= f.text_field :url %> <div class="form-actions"> <div class="primary-actions"> <%= cancel_link @resource, :back, class: 'btn btn-default' %> <%= f.submit t('.add_item'), class: 'btn btn-primary' %> </div> </div> <% end if can? :manage, @resource %> FILE end |
#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", <<-FILE.strip_heredoc class #{class_name}Resource < Spotlight::Resource self.document_builder_class = #{class_name}Builder end FILE end |