Class: ReferenceMatcher
- Inherits:
-
Object
show all
- Defined in:
- lib/reference_matcher.rb
Instance Method Summary
(collapse)
Instance Method Details
- (Object) candidates_for(target)
22
23
24
25
26
27
28
|
# File 'lib/reference_matcher.rb', line 22
def candidates_for target
if target.author != @target_author
@target_author = target.author
@candidates = read_references @target_author
end
@candidates || []
end
|
- (Object) match(target)
4
5
6
7
8
9
10
11
12
|
# File 'lib/reference_matcher.rb', line 4
def match target
candidates_for(target).inject([]) do |matches, candidate|
if possible_match? target, candidate
similarity = target <=> candidate
matches << {:target => target, :match => candidate, :similarity => similarity} if similarity >= min_similarity
end
matches
end
end
|
- (Object) min_similarity
18
19
20
|
# File 'lib/reference_matcher.rb', line 18
def min_similarity
0.01
end
|
- (Boolean) possible_match?(target, candidate)
14
15
16
|
# File 'lib/reference_matcher.rb', line 14
def possible_match? target, candidate
target.id != candidate.id
end
|
- (Object) read_references(target)
30
31
32
|
# File 'lib/reference_matcher.rb', line 30
def read_references target
::Reference.with_principal_author_last_name target
end
|