that_language 0.1.0.pre2 → 0.1.0.pre3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 01aa4fee3d5fc120da25a313d1e930bf6dace5f4
4
- data.tar.gz: 80832c8a3f3b45f83ae9bd95e46bf966c017f0c7
3
+ metadata.gz: 8d9e07c608c8697fff8ea1c101e9ff7bbe76f210
4
+ data.tar.gz: 7dc5a309d40dcc6b55f421c4b91cc363398d73ca
5
5
  SHA512:
6
- metadata.gz: dfb3a7992eec2e4cc7a0cefb5401c7825f9d0da19941d3a9801ad727e177144e00d66e24c976ca0bcdccf9a80782c1d4e11f708aa74df0f5454b489b83a0aa7d
7
- data.tar.gz: ea684a08e0ed92c6a631de19c9528457ec5e941a66d77bd06a666493a4279a496737f945d853a61dcb1f533cd072b13c28431be106e9fa8b0dce7f4699549536
6
+ metadata.gz: e452b3820aa528314595e704beda91a7da3e30b7dcb180655b3f81f14e1f15e1308a3f26d48e2bb4dbded2b5c85899be71fc844fbf7fe83a900993106c18b3a7
7
+ data.tar.gz: 05a4d5214eefa073e8267e63eeb5884919d26e855c0a8e98e150791e963e46a5444711fbf3df388bcc67dfa442a235a181df5001de8996156f2e2092df8652bd
data/lib/that_language.rb CHANGED
@@ -15,11 +15,15 @@ module ThatLanguage
15
15
  alias_method :config, :configuration
16
16
 
17
17
  def language_code(text)
18
- detect.language_code(text)
18
+ detect_context.language_code(text)
19
+ end
20
+
21
+ def detect(text)
22
+ detect_context.detect(text)
19
23
  end
20
24
 
21
25
  def details(text)
22
- detect.details(text)
26
+ detect_context.details(text)
23
27
  end
24
28
 
25
29
  def available_language_codes
@@ -34,8 +38,8 @@ module ThatLanguage
34
38
 
35
39
  private
36
40
 
37
- def detect
38
- @detect ||= Detect.new(lookup_context)
41
+ def detect_context
42
+ @detect_context ||= Detect.new(lookup_context)
39
43
  end
40
44
 
41
45
  def lookup_context
@@ -3,14 +3,13 @@ require 'json'
3
3
  module ThatLanguage
4
4
  class Result
5
5
  attr_reader :language_code, :value, :hit_count
6
- attr_accessor :words_count, :total_value
6
+ attr_accessor :words_count
7
7
 
8
8
  def initialize(language_code:)
9
9
  @language_code = language_code
10
10
  @value = 0.0
11
11
  @hit_count = 0
12
12
  @words_count = 0
13
- @total_value = 0.0
14
13
  end
15
14
 
16
15
  def add(value)
@@ -20,8 +19,10 @@ module ThatLanguage
20
19
  @value += value
21
20
  end
22
21
 
23
- def score
24
- hit_ratio * percentage
22
+ def confidence
23
+ return 0 unless words_count > 0
24
+
25
+ value / words_count
25
26
  end
26
27
 
27
28
  def hit_ratio
@@ -30,30 +31,23 @@ module ThatLanguage
30
31
  @hit_count.to_f / @words_count
31
32
  end
32
33
 
33
- def percentage
34
- return 0.0 if @total_value == 0
35
-
36
- @value / @total_value
37
- end
38
-
39
34
  def <=>(other)
40
- score <=> other.score
35
+ value <=> other.value
41
36
  end
42
37
 
43
38
  def <(other)
44
- score < other.score
39
+ value < other.value
45
40
  end
46
41
 
47
42
  def >(other)
48
- score > other.score
43
+ value > other.value
49
44
  end
50
45
 
51
46
  def to_h
52
47
  {
53
48
  language_code: language_code,
49
+ confidence: confidence,
54
50
  value: value,
55
- score: score,
56
- percentage: percentage,
57
51
  hit_ratio: hit_ratio,
58
52
  hit_count: hit_count,
59
53
  words_count: words_count
@@ -63,21 +57,5 @@ module ThatLanguage
63
57
  def to_json
64
58
  to_h.to_json
65
59
  end
66
-
67
- # TODO: spec
68
- def winner!(second_score:)
69
- @second_score = second_score
70
- end
71
-
72
- # TODO: spec
73
- def winner?
74
- !@second_score.nil?
75
- end
76
-
77
- # TODO: spec
78
- def confidence
79
- factor = 1 - (@second_score / score)
80
- factor * hit_ratio
81
- end
82
60
  end
83
61
  end
@@ -11,7 +11,7 @@ module ThatLanguage
11
11
  end
12
12
 
13
13
  def winner
14
- results.max.tap { |r| r.winner!(second_score: results[1].score) }
14
+ results.max
15
15
  end
16
16
 
17
17
  def results
@@ -43,14 +43,9 @@ module ThatLanguage
43
43
  def finalize_results
44
44
  _results.each do |result|
45
45
  result.words_count = @words_count
46
- result.total_value = total_value
47
46
  end
48
47
  end
49
48
 
50
- def total_value
51
- _results.inject(0) { |sum, result| sum += result.value }
52
- end
53
-
54
49
  def lookup
55
50
  @lookup ||= Hash.new do |hash, language_code|
56
51
  hash[language_code] = Result.new(language_code: language_code)
@@ -1,3 +1,3 @@
1
1
  module ThatLanguage
2
- VERSION = "0.1.0.pre2"
2
+ VERSION = "0.1.0.pre3"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: that_language
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0.pre2
4
+ version: 0.1.0.pre3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Patrick Helm
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2015-09-30 00:00:00.000000000 Z
11
+ date: 2015-10-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler