Module: BulkOps::SearchBuilderBehavior

Extended by:
ActiveSupport::Concern
Defined in:
lib/bulk_ops/search_builder_behavior.rb

Instance Method Summary collapse

Instance Method Details

#in_workflow_state(solr_parameters) ⇒ Object

include filters into the query to only include the collection memebers



65
66
67
68
# File 'lib/bulk_ops/search_builder_behavior.rb', line 65

def in_workflow_state(solr_parameters)
  solr_parameters[:fq] ||= []
  solr_parameters[:fq] << "#{workflow_state_field}:#{@workflow_state}" if @workflow_state
end

#initialize(scope: {}, collection: nil, collection_id: nil, admin_set: nil, admin_set_id: nil, workflow_state: nil, keyword_query: nil) ⇒ Object

Parameters:

  • Typically (scope)

    the controller object



28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# File 'lib/bulk_ops/search_builder_behavior.rb', line 28

def initialize(scope: {}, 
               collection: nil, 
               collection_id: nil, 
               admin_set: nil, 
               admin_set_id: nil, 
               workflow_state: nil, 
               keyword_query: nil) 

  @collection = collection unless collection.blank?
  @admin_set = admin_set unless admin_set.blank?
  @admin_set_id = admin_set_id unless admin_set_id.blank?
  @workflow_state = workflow_state unless workflow_state.blank?
  @collection_id = collection_id unless collection_id.blank?
  @workflow_state = workflow_state unless workflow_state.blank?
  @keyword_query = keyword_query unless keyword_query.blank?
  super(scope)
end

#member_of_admin_set(solr_parameters) ⇒ Object

include filters into the query to only include the collection memebers



58
59
60
61
62
# File 'lib/bulk_ops/search_builder_behavior.rb', line 58

def member_of_admin_set(solr_parameters)
  solr_parameters[:fq] ||= []
  solr_parameters[:fq] << "#{admin_set_field}:#{@admin_set}" if @admin_set
  solr_parameters[:fq] << "#{admin_set_id_field}:#{@admin_set_id}" if @admin_set_id
end

#member_of_collection(solr_parameters) ⇒ Object

include filters into the query to only include the collection memebers



51
52
53
54
55
# File 'lib/bulk_ops/search_builder_behavior.rb', line 51

def member_of_collection(solr_parameters)
  solr_parameters[:fq] ||= []
  solr_parameters[:fq] << "#{collection_field}:#{@collection}" if @collection
  solr_parameters[:fq] << "#{collection_id_field}:#{@collection_id}" if @collection_id
end

#modelsObject



46
47
48
# File 'lib/bulk_ops/search_builder_behavior.rb', line 46

def models
  [Work,Course,Lecture]
end

#with_keyword_query(solr_parameters) ⇒ Object



70
71
72
73
74
75
76
77
78
# File 'lib/bulk_ops/search_builder_behavior.rb', line 70

def with_keyword_query(solr_parameters)
  if @keyword_query
    solr_parameters[:q] ||= []
    #    solr_parameters[:q] << "#{keyword_field}:#{@keyword_query}" if @keyword_query
    solr_parameters[:q] << @keyword_query 
    solr_parameters[:qf] = "title_tesim titleAlternative_tesim subseries_tesim creator_label_tesim contributor_label_tesim originalPublisher_tesim publisher_tesim publisherHomepage_tesim resourceType_label_tesim  rightsHolder_label_tesim scale_tesim series_tesim source_tesim staffNote_tesim coordinates_tesim subjectName_label_tesim subjectPlace_label_tesim subjectTemporal_label_tesim subjectTopic_label_tesim dateCreated_tesim dateCreatedDisplay_tesim dateDigitized_tesim datePublished_tesim description_tesim physicalFormat_label_tesim keyword_tesim language_label_tesim license_tesim masterFilename_tesim physicalDescription_tesim accessRights_tesim itemCallNumber_tesim collectionCallNumber_tesim donorProvenance_tesim genre_label_tesim boxFolder_tesim subject_label_tesim file_format_tesim all_text_timv"
  end
  solr_parameters
end