Class: Blacklight::Configuration
- Inherits:
-
OpenStructWithHashAccess
- Object
- OpenStruct
- OpenStructWithHashAccess
- Blacklight::Configuration
- Includes:
- Fields
- Defined in:
- lib/blacklight/configuration.rb,
lib/blacklight/configuration/fields.rb
Overview
Blacklight::Configuration holds the configuration for a Blacklight::Controller, including fields to display, facets to show, sort options, and search fields.
Defined Under Namespace
Modules: Fields Classes: FacetField, SearchField, SolrField, SortField
Class Method Summary (collapse)
Instance Method Summary (collapse)
-
- (Object) add_facet_fields_to_solr_request!
Add any configured facet fields to the default solr parameters hash.
-
- (Object) add_field_configuration_to_solr_request!
Add any configured facet fields to the default solr parameters hash.
-
- (Object) configure {|_self| ... }
DSL helper.
-
- (Object) deep_copy
(also: #inheritable_copy)
Provide a 'deep copy' of Blacklight::Configuration that can be modifyed without affecting the original Blacklight::Configuration instance.
-
- (Object) default_search_field
Returns default search field, used for simpler display in history, etc.
-
- (Object) default_sort_field
Returns default sort field, used for simpler display in history, etc.
- - (Object) facet_fields_to_add_to_solr
-
- (Configuration) initialize(*args) {|_self| ... }
constructor
A new instance of Configuration.
-
- (Object) initialize_default_values!
Initialize default values from the class attribute.
Methods included from Fields
#add_solr_field, #field_config_from_array, #field_config_from_field_or_hash, #field_config_from_key_and_hash, #hash_arg_to_config
Methods inherited from OpenStructWithHashAccess
Constructor Details
- (Configuration) initialize(*args) {|_self| ... }
A new instance of Configuration
49 50 51 52 53 54 |
# File 'lib/blacklight/configuration.rb', line 49 def initialize(*args) super(*args) initialize_default_values! yield(self) if block_given? self end |
Class Method Details
+ (Object) default_values
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/blacklight/configuration.rb', line 10 def default_values @default_values ||= begin unique_key = ((SolrDocument.unique_key if defined?(SolrDocument)) || 'id') { :solr_path => 'select', :qt => 'search', :default_solr_params => {}, :document_solr_request_handler => nil, :default_document_solr_params => {}, :show => OpenStructWithHashAccess.new(:html_title => unique_key, :heading => unique_key), :index => OpenStructWithHashAccess.new(:show_link => unique_key), :spell_max => 5, :max_per_page => 100, :per_page => [10,20,50,100], :document_index_view_types => ['list'], :add_facet_fields_to_solr_request => false, :add_field_configuration_to_solr_request => false } end end |
Instance Method Details
- (Object) add_facet_fields_to_solr_request!
Add any configured facet fields to the default solr parameters hash
85 86 87 |
# File 'lib/blacklight/configuration.rb', line 85 def add_facet_fields_to_solr_request! self.add_facet_fields_to_solr_request = true end |
- (Object) add_field_configuration_to_solr_request!
Add any configured facet fields to the default solr parameters hash
90 91 92 |
# File 'lib/blacklight/configuration.rb', line 90 def add_field_configuration_to_solr_request! self.add_field_configuration_to_solr_request = true end |
- (Object) configure {|_self| ... }
DSL helper
111 112 113 114 |
# File 'lib/blacklight/configuration.rb', line 111 def configure yield self if block_given? self end |
- (Object) deep_copy Also known as: inheritable_copy
Provide a 'deep copy' of Blacklight::Configuration that can be modifyed without affecting the original Blacklight::Configuration instance.
104 105 106 |
# File 'lib/blacklight/configuration.rb', line 104 def deep_copy Marshal.load(Marshal.dump(self)) end |
- (Object) default_search_field
Returns default search field, used for simpler display in history, etc. if not set, defaults to first defined search field
66 67 68 69 70 71 72 |
# File 'lib/blacklight/configuration.rb', line 66 def default_search_field field = nil field ||= search_fields.values.select { |field| field.default == true }.first field ||= search_fields.values.first field end |
- (Object) default_sort_field
Returns default sort field, used for simpler display in history, etc. if not set, defaults to first defined sort field
76 77 78 79 80 81 82 |
# File 'lib/blacklight/configuration.rb', line 76 def default_sort_field field = nil field ||= sort_fields.values.select { |field| field.default == true }.first field ||= sort_fields.values.first field end |
- (Object) facet_fields_to_add_to_solr
94 95 96 97 98 |
# File 'lib/blacklight/configuration.rb', line 94 def facet_fields_to_add_to_solr return facet_fields.reject { |k,v| v[:query] || v[:pivot] }.map { |k,v| v.field } if self.add_facet_fields_to_solr_request [] end |
- (Object) initialize_default_values!
Initialize default values from the class attribute
58 59 60 61 62 |
# File 'lib/blacklight/configuration.rb', line 58 def initialize_default_values! Marshal.load(Marshal.dump(self.class.default_values)).each do |k, v| self[k] ||= v end end |