class BlacklightAdvancedSearch::InstallGenerator

Public Instance Methods

configuration() click to toggle source
# 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() click to toggle source
# File lib/generators/blacklight_advanced_search/install_generator.rb, line 7
def inject_asset_requires
  generate "blacklight_advanced_search:assets"
end
inject_routes() click to toggle source
# 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() click to toggle source
# 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() click to toggle source
# 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() click to toggle source
# File lib/generators/blacklight_advanced_search/install_generator.rb, line 49
    def install_localized_search_form
      return unless options[: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>
        <%= link_to 'More options', blacklight_advanced_search_engine.advanced_search_path(search_state.to_h), class: 'advanced_search btn btn-secondary'%>
      </div>
      EOF

      create_file("app/views/catalog/_search_form.html.erb", new_file_contents)
    end
install_saved_searches_controller() click to toggle source
# 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() click to toggle source
# 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