Module: Slimmer::Headers
- Defined in:
- lib/slimmer/headers.rb
Constant Summary collapse
- InvalidHeader =
Class.new(RuntimeError)
- HEADER_PREFIX =
"X-Slimmer"
- SLIMMER_HEADER_MAPPING =
{ section: "Section", need_id: "Need-ID", format: "Format", proposition: "Proposition", result_count: "Result-Count", template: "Template", skip: "Skip", }
- TEMPLATE_HEADER =
"#{HEADER_PREFIX}-Template"
- SKIP_HEADER =
"#{HEADER_PREFIX}-Skip"
- SEARCH_PATH_HEADER =
"#{HEADER_PREFIX}-Search-Path"
- ARTEFACT_HEADER =
"#{HEADER_PREFIX}-Artefact"
- FORMAT_HEADER =
"#{HEADER_PREFIX}-Format"
- RESULT_COUNT_HEADER =
"#{HEADER_PREFIX}-Result-Count"
Instance Method Summary collapse
- #set_slimmer_artefact(artefact_input) ⇒ Object
- #set_slimmer_dummy_artefact(details = {}) ⇒ Object
- #set_slimmer_headers(hash) ⇒ Object
Instance Method Details
#set_slimmer_artefact(artefact_input) ⇒ Object
32 33 34 35 36 37 38 39 |
# File 'lib/slimmer/headers.rb', line 32 def set_slimmer_artefact(artefact_input) if artefact_input.is_a?(Hash) or artefact_input.is_a?(OpenStruct) artefact = artefact_input.dup elsif artefact_input.respond_to?(:to_hash) artefact = artefact_input.to_hash end headers[ARTEFACT_HEADER] = artefact.to_json end |
#set_slimmer_dummy_artefact(details = {}) ⇒ Object
41 42 43 44 45 46 47 48 49 50 51 52 53 |
# File 'lib/slimmer/headers.rb', line 41 def set_slimmer_dummy_artefact(details = {}) artefact = {} artefact["title"] = details[:title] if details[:title] if details[:section_name] and details[:section_link] tag = { "title" => details[:section_name], "details" => {"type" => "section"}, "content_with_tag" => {"web_url" => details[:section_link]}, } artefact["tags"] = [tag] end headers[ARTEFACT_HEADER] = artefact.to_json end |
#set_slimmer_headers(hash) ⇒ Object
24 25 26 27 28 29 30 |
# File 'lib/slimmer/headers.rb', line 24 def set_slimmer_headers(hash) raise InvalidHeader if (hash.keys - SLIMMER_HEADER_MAPPING.keys).any? SLIMMER_HEADER_MAPPING.each do |hash_key, header_suffix| value = hash[hash_key] headers["#{HEADER_PREFIX}-#{header_suffix}"] = value.to_s if value end end |