Class: BlacklightAdvancedSearch::InstallGenerator
- Inherits:
-
Rails::Generators::Base
- Object
- Rails::Generators::Base
- BlacklightAdvancedSearch::InstallGenerator
- Defined in:
- lib/generators/blacklight_advanced_search/install_generator.rb
Instance Method Summary collapse
- #configuration ⇒ Object
- #inject_asset_requires ⇒ Object
- #inject_routes ⇒ Object
- #inject_search_builder ⇒ Object
- #install_catalog_controller_mixin ⇒ Object
- #install_localized_search_form ⇒ Object
- #install_saved_searches_controller ⇒ Object
- #install_search_history_controller ⇒ Object
Instance Method Details
#configuration ⇒ Object
24 25 26 27 28 29 30 31 32 33 |
# File 'lib/generators/blacklight_advanced_search/install_generator.rb', line 24 def configuration inject_into_file 'app/controllers/catalog_controller.rb', after: "configure_blacklight do |config|" do "\n # default advanced config values" \ "\n config.advanced_search ||= Blacklight::OpenStructWithHashAccess.new" \ "\n # config.advanced_search[:qt] ||= 'advanced'" \ "\n config.advanced_search[:url_key] ||= 'advanced'" \ "\n config.advanced_search[:query_parser] ||= 'dismax'" \ "\n config.advanced_search[:form_solr_parameters] ||= {}\n" end end |
#inject_asset_requires ⇒ Object
7 8 9 |
# File 'lib/generators/blacklight_advanced_search/install_generator.rb', line 7 def inject_asset_requires generate "blacklight_advanced_search:assets" end |
#inject_routes ⇒ Object
43 44 45 46 47 |
# File 'lib/generators/blacklight_advanced_search/install_generator.rb', line 43 def inject_routes inject_into_file 'config/routes.rb', after: /mount Blacklight::Engine.*$/ do "\n mount BlacklightAdvancedSearch::Engine => '/'\n" end end |
#inject_search_builder ⇒ Object
11 12 13 14 15 16 |
# File 'lib/generators/blacklight_advanced_search/install_generator.rb', line 11 def inject_search_builder inject_into_file 'app/models/search_builder.rb', after: /include Blacklight::Solr::SearchBuilderBehavior.*$/ do "\n include BlacklightAdvancedSearch::AdvancedSearchBuilder" \ "\n self.default_processor_chain += [:add_advanced_parse_q_to_solr, :add_advanced_search_to_solr]" end end |
#install_catalog_controller_mixin ⇒ Object
18 19 20 21 22 |
# File 'lib/generators/blacklight_advanced_search/install_generator.rb', line 18 def install_catalog_controller_mixin inject_into_class "app/controllers/catalog_controller.rb", "CatalogController" do " include BlacklightAdvancedSearch::Controller\n" end end |
#install_localized_search_form ⇒ Object
49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
# File 'lib/generators/blacklight_advanced_search/install_generator.rb', line 49 def install_localized_search_form return unless [:force] || yes?("Install local search form with advanced link? (y/N)", :green) # We're going to copy the search from from actual currently loaded # Blacklight into local app as custom local override -- but add our link at the end too. source_file = File.read(File.join(Blacklight.root, "app/views/catalog/_search_form.html.erb")) new_file_contents = source_file + <<-EOF.strip_heredoc \n\n <div class="navbar-form"> <%= link_to 'More options', blacklight_advanced_search_engine.advanced_search_path(search_state.to_h), class: 'advanced_search btn btn-default'%> </div> EOF create_file("app/views/catalog/_search_form.html.erb", new_file_contents) end |
#install_saved_searches_controller ⇒ Object
39 40 41 |
# File 'lib/generators/blacklight_advanced_search/install_generator.rb', line 39 def install_saved_searches_controller copy_file "saved_searches_controller.rb", "app/controllers/saved_searches_controller.rb" end |
#install_search_history_controller ⇒ Object
35 36 37 |
# File 'lib/generators/blacklight_advanced_search/install_generator.rb', line 35 def install_search_history_controller copy_file "search_history_controller.rb", "app/controllers/search_history_controller.rb" end |