Class: Qa::Authorities::LinkedData::SearchConfig
- Inherits:
-
Object
- Object
- Qa::Authorities::LinkedData::SearchConfig
- Defined in:
- lib/qa/authorities/linked_data/config/search_config.rb
Instance Attribute Summary collapse
-
#prefixes ⇒ Object
readonly
Returns the value of attribute prefixes.
Instance Method Summary collapse
-
#context_map ⇒ Qa::LinkedData::Config::ContextMap
Return the context map if it is defined.
-
#initialize(config, prefixes = {}) ⇒ SearchConfig
constructor
A new instance of SearchConfig.
-
#language ⇒ String
Return the preferred language for literal value selection for search query.
-
#qa_replacement_patterns ⇒ Hash
Return parameters that are required for QA api.
-
#results ⇒ Hash, NilClass
Return results predicates if specified.
-
#results_altlabel_predicate ⇒ String
Return results altlabel_predicate.
-
#results_id_predicate ⇒ String
Return results id_predicate.
-
#results_label_predicate ⇒ String
Return results label_predicate.
-
#results_sort_predicate ⇒ String
Return results sort_predicate.
-
#subauthorities ⇒ Hash
Return the list of subauthorities for search query.
-
#subauthorities? ⇒ True|False
Are there subauthorities configured for search query?.
-
#subauthority?(subauth_name) ⇒ True|False
Is a specific subauthority configured for search query?.
-
#subauthority_count ⇒ Integer
Return the number of subauthorities defined for search query.
-
#supports_context? ⇒ True|False
Does this authority configuration support additional context in search results?.
-
#supports_search? ⇒ Boolean
Does this authority configuration have search defined?.
-
#supports_sort? ⇒ True|False
Does this authority configuration support sorting of search results?.
-
#url_config ⇒ Qa::IriTemplate::UrlConfig
Return search url template defined in the configuration for this authority.
Constructor Details
#initialize(config, prefixes = {}) ⇒ SearchConfig
Returns a new instance of SearchConfig.
11 12 13 14 |
# File 'lib/qa/authorities/linked_data/config/search_config.rb', line 11 def initialize(config, prefixes = {}) @search_config = config @prefixes = prefixes end |
Instance Attribute Details
#prefixes ⇒ Object (readonly)
Returns the value of attribute prefixes.
8 9 10 |
# File 'lib/qa/authorities/linked_data/config/search_config.rb', line 8 def prefixes @prefixes end |
Instance Method Details
#context_map ⇒ Qa::LinkedData::Config::ContextMap
Return the context map if it is defined
88 89 90 91 |
# File 'lib/qa/authorities/linked_data/config/search_config.rb', line 88 def context_map return nil unless search_config.key?(:context) @context_map ||= Qa::LinkedData::Config::ContextMap.new(search_config.fetch(:context), prefixes) end |
#language ⇒ String
Return the preferred language for literal value selection for search query. Only applies if the authority provides language encoded literals.
34 35 36 37 38 39 40 |
# File 'lib/qa/authorities/linked_data/config/search_config.rb', line 34 def language return @language unless @language.nil? lang = search_config[:language] return nil if lang.nil? lang = [lang] if lang.is_a? String @language = lang.collect(&:to_sym) end |
#qa_replacement_patterns ⇒ Hash
Return parameters that are required for QA api
95 96 97 |
# File 'lib/qa/authorities/linked_data/config/search_config.rb', line 95 def qa_replacement_patterns search_config.fetch(:qa_replacement_patterns) end |
#results ⇒ Hash, NilClass
Return results predicates if specified
44 45 46 |
# File 'lib/qa/authorities/linked_data/config/search_config.rb', line 44 def results search_config[:results] end |
#results_altlabel_predicate ⇒ String
Return results altlabel_predicate
62 63 64 |
# File 'lib/qa/authorities/linked_data/config/search_config.rb', line 62 def results_altlabel_predicate Config.predicate_uri(results, :altlabel_predicate) end |
#results_id_predicate ⇒ String
Return results id_predicate
50 51 52 |
# File 'lib/qa/authorities/linked_data/config/search_config.rb', line 50 def results_id_predicate Config.predicate_uri(results, :id_predicate) end |
#results_label_predicate ⇒ String
Return results label_predicate
56 57 58 |
# File 'lib/qa/authorities/linked_data/config/search_config.rb', line 56 def results_label_predicate Config.predicate_uri(results, :label_predicate) end |
#results_sort_predicate ⇒ String
Return results sort_predicate
75 76 77 |
# File 'lib/qa/authorities/linked_data/config/search_config.rb', line 75 def results_sort_predicate Config.predicate_uri(results, :sort_predicate) end |
#subauthorities ⇒ Hash
Return the list of subauthorities for search query
120 121 122 123 |
# File 'lib/qa/authorities/linked_data/config/search_config.rb', line 120 def ||= {} if search_config.nil? || !(search_config.key? :subauthorities) ||= search_config.fetch(:subauthorities) end |
#subauthorities? ⇒ True|False
Are there subauthorities configured for search query?
101 102 103 |
# File 'lib/qa/authorities/linked_data/config/search_config.rb', line 101 def .positive? end |
#subauthority?(subauth_name) ⇒ True|False
Is a specific subauthority configured for search query?
107 108 109 110 |
# File 'lib/qa/authorities/linked_data/config/search_config.rb', line 107 def (subauth_name) subauth_name = subauth_name.to_sym if subauth_name.is_a? String .key? subauth_name end |
#subauthority_count ⇒ Integer
Return the number of subauthorities defined for search query
114 115 116 |
# File 'lib/qa/authorities/linked_data/config/search_config.rb', line 114 def .size end |
#supports_context? ⇒ True|False
Does this authority configuration support additional context in search results?
81 82 83 84 |
# File 'lib/qa/authorities/linked_data/config/search_config.rb', line 81 def supports_context? return true if context_map.present? false end |
#supports_search? ⇒ Boolean
Does this authority configuration have search defined?
21 22 23 |
# File 'lib/qa/authorities/linked_data/config/search_config.rb', line 21 def supports_search? search_config.present? end |
#supports_sort? ⇒ True|False
Does this authority configuration support sorting of search results?
68 69 70 71 |
# File 'lib/qa/authorities/linked_data/config/search_config.rb', line 68 def supports_sort? return true unless results_sort_predicate.nil? || !results_sort_predicate.size.positive? false end |
#url_config ⇒ Qa::IriTemplate::UrlConfig
Return search url template defined in the configuration for this authority.
27 28 29 |
# File 'lib/qa/authorities/linked_data/config/search_config.rb', line 27 def url_config @url_config ||= Qa::IriTemplate::UrlConfig.new(search_config[:url]) if supports_search? end |