Module: Spinel::Helper

Included in:
Base
Defined in:
lib/spinel/helper.rb

Instance Method Summary collapse

Instance Method Details

#document_aliases(doc) ⇒ Object



31
32
33
# File 'lib/spinel/helper.rb', line 31

def document_aliases doc
  doc[:aliases] || doc["aliases"]
end

#document_body(doc) ⇒ Object



27
28
29
# File 'lib/spinel/helper.rb', line 27

def document_body doc
  doc[Spinel.document_key.to_sym] || doc[Spinel.document_key]
end

#document_id(doc) ⇒ Object



19
20
21
# File 'lib/spinel/helper.rb', line 19

def document_id doc
  doc[:id] || doc["id"]
end

#document_score(doc) ⇒ Object



23
24
25
# File 'lib/spinel/helper.rb', line 23

def document_score doc
  doc[:score] || doc["score"]
end

#document_to_phrase(doc) ⇒ Object



11
12
13
# File 'lib/spinel/helper.rb', line 11

def document_to_phrase doc
  [document_body(doc), *Array(document_aliases(doc))].join(' ')
end

#document_validate(doc) ⇒ Object

Raises:

  • (ArgumentError)


15
16
17
# File 'lib/spinel/helper.rb', line 15

def document_validate doc
  raise ArgumentError, "documents must specify both an id and a body" unless document_id(doc) && document_body(doc)
end

#prefixes_for_phrase(phrase) ⇒ Object



4
5
6
7
8
9
# File 'lib/spinel/helper.rb', line 4

def prefixes_for_phrase(phrase)
  words = phrase.split(' ')
  words.map do |w|
    (Spinel.min_complete-1..(w.length-1)).map{ |l| w[0..l] }
  end.flatten.uniq
end