that_language-client 0.1.0.pre2 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 28a30a5ef2f70e0b4e857c35e63670b96ee45b1d
4
- data.tar.gz: 20e4a5b3c392a58dd1916157ac7152deac5dee19
3
+ metadata.gz: 522498cda5d797597000b24c43684a9d17655e5e
4
+ data.tar.gz: 6e4021897803f96158e2bca7d3a21da918ea6884
5
5
  SHA512:
6
- metadata.gz: 6cbc0bf61637b92550671fac5580dc97442359e5e895c1fc16321e6cf705da21af66e18a4c730147c93cecc1b325e4164da5ff0b86e2b40efc968d102c1f02d9
7
- data.tar.gz: 84b6aa24cdede740bb726dc1eef2108cc690bb82eee1e2131418e3b782b84c8e3f02337a53793ffcb8aedf758b71bcd71895e54cdb2c08900b5cd1c36a5e832c
6
+ metadata.gz: 12ae04938dacf35e7a4a05a2600982776893998282f41544770ddd3d9e7bdff7cbabacf715c01b6cafc51601d7c2ec0e4e2eb09d4f5f30b6c0ba9bb57b090acd
7
+ data.tar.gz: 574086466ac42cd335bce967e749890a89dbfafbfbc177b554a43fa29e3002e250551c8a427ed6f3eddaa5e8b6423158b00a2170a0e640efa7d4cd4b7565fe59
@@ -0,0 +1,23 @@
1
+ require "that_language/client/query"
2
+ require "ostruct"
3
+
4
+ # TODO: Get rid of ostruct and use Client::Result
5
+ module ThatLanguage
6
+ class Client
7
+ class DetailsQuery < Query
8
+ def winner
9
+ results.first
10
+ end
11
+
12
+ def results
13
+ @results ||= json["results"].map { |result| OpenStruct.new(result) }
14
+ end
15
+
16
+ private
17
+
18
+ def endpoint
19
+ "/details"
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,25 @@
1
+ require "that_language/client/query"
2
+
3
+ module ThatLanguage
4
+ class Client
5
+ class DetectQuery < Query
6
+ def language
7
+ json["language"]
8
+ end
9
+
10
+ def language_code
11
+ json["language_code"]
12
+ end
13
+
14
+ def confidence
15
+ json["confidence"]
16
+ end
17
+
18
+ private
19
+
20
+ def endpoint
21
+ "/detect"
22
+ end
23
+ end
24
+ end
25
+ end
@@ -1,34 +1,16 @@
1
- require 'json'
2
- require 'net/http'
1
+ require "that_language/client/query"
3
2
 
4
3
  module ThatLanguage
5
4
  class Client
6
- class LanguageCodeQuery
7
- attr_reader :text
8
-
9
- def initialize(text:, client: Client.current)
10
- @text = text
11
- @client = client
12
- end
13
-
5
+ class LanguageCodeQuery < Query
14
6
  def language_code
15
7
  json["language_code"]
16
8
  end
17
9
 
18
10
  private
19
11
 
20
- attr_reader :client
21
-
22
- def json
23
- @json ||= JSON.parse(response.body)
24
- end
25
-
26
- def response
27
- @response ||= Net::HTTP.post_form(URI(url), text: text)
28
- end
29
-
30
- def url
31
- "http://#{client.host}/language_code"
12
+ def endpoint
13
+ "/language_code"
32
14
  end
33
15
  end
34
16
  end
@@ -0,0 +1,17 @@
1
+ require "that_language/client/query"
2
+
3
+ module ThatLanguage
4
+ class Client
5
+ class LanguageQuery < Query
6
+ def language
7
+ json["language"]
8
+ end
9
+
10
+ private
11
+
12
+ def endpoint
13
+ "/language"
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,39 @@
1
+ require 'json'
2
+ require 'net/http'
3
+
4
+ module ThatLanguage
5
+ class Client
6
+ class Query
7
+ attr_reader :text
8
+
9
+ def initialize(text:, client: Client.current)
10
+ @text = text
11
+ @client = client
12
+ end
13
+
14
+ def to_h
15
+ json
16
+ end
17
+
18
+ private
19
+
20
+ attr_reader :client
21
+
22
+ def json
23
+ @json ||= JSON.parse(response.body)
24
+ end
25
+
26
+ def response
27
+ @response ||= Net::HTTP.post_form(URI(url), text: text)
28
+ end
29
+
30
+ def url
31
+ "http://#{client.host}#{endpoint}"
32
+ end
33
+
34
+ def endpoint
35
+ fail NotImplementedError
36
+ end
37
+ end
38
+ end
39
+ end
@@ -1,5 +1,5 @@
1
1
  module ThatLanguage
2
2
  class Client
3
- VERSION = "0.1.0.pre2"
3
+ VERSION = "0.1.0"
4
4
  end
5
5
  end
@@ -1,6 +1,11 @@
1
1
  require "that_language"
2
2
  require "that_language/client/config"
3
+
4
+ require "that_language/client/language_query"
3
5
  require "that_language/client/language_code_query"
6
+ require "that_language/client/detect_query"
7
+ require "that_language/client/details_query"
8
+
4
9
  require "that_language/client/version"
5
10
 
6
11
  module ThatLanguage
data/lib/that_language.rb CHANGED
@@ -1,10 +1,22 @@
1
1
  require 'that_language/client'
2
2
 
3
3
  module ThatLanguage
4
+ def self.language(text)
5
+ ThatLanguage::Client::LanguageQuery.new(text: text).language
6
+ end
7
+
4
8
  def self.language_code(text)
5
9
  ThatLanguage::Client::LanguageCodeQuery.new(text: text).language_code
6
10
  end
7
11
 
12
+ def self.detect(text)
13
+ ThatLanguage::Client::DetectQuery.new(text: text)
14
+ end
15
+
16
+ def self.details(text)
17
+ ThatLanguage::Client::DetailsQuery.new(text: text)
18
+ end
19
+
8
20
  def self.monkeypatch(klass)
9
21
  klass.class_eval do
10
22
  define_method(:language_code) { ThatLanguage.language_code(self.to_s) }
@@ -9,9 +9,9 @@ Gem::Specification.new do |spec|
9
9
  spec.authors = ["Patrick Helm"]
10
10
  spec.email = ["me@patrick-helm.de"]
11
11
 
12
- spec.summary = %q{Detect language for given text.}
13
- spec.description = %q{Detect language for given text.}
14
- spec.homepage = "http://gitlab.patrick-helm.de/Ruby/that_language-client"
12
+ spec.summary = %q{API client for ThatLanguage.}
13
+ # spec.description = %q{Detect language for given text.}
14
+ spec.homepage = "https://github.com/Deradon/that_language-client"
15
15
  spec.license = "MIT"
16
16
 
17
17
  # Prevent pushing this gem to RubyGems.org by setting 'allowed_push_host', or
@@ -28,6 +28,7 @@ Gem::Specification.new do |spec|
28
28
  spec.require_paths = ["lib"]
29
29
 
30
30
  spec.add_development_dependency "bundler", "~> 1.10"
31
+ spec.add_development_dependency "pry"
31
32
  spec.add_development_dependency "rake", "~> 10.0"
32
33
  spec.add_development_dependency "rspec"
33
34
  spec.add_development_dependency "rspec-its"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: that_language-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0.pre2
4
+ version: 0.1.0
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-10-01 00:00:00.000000000 Z
11
+ date: 2015-12-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -24,6 +24,20 @@ dependencies:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '1.10'
27
+ - !ruby/object:Gem::Dependency
28
+ name: pry
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: rake
29
43
  requirement: !ruby/object:Gem::Requirement
@@ -80,7 +94,7 @@ dependencies:
80
94
  - - ">="
81
95
  - !ruby/object:Gem::Version
82
96
  version: '0'
83
- description: Detect language for given text.
97
+ description:
84
98
  email:
85
99
  - me@patrick-helm.de
86
100
  executables: []
@@ -100,10 +114,14 @@ files:
100
114
  - lib/that_language.rb
101
115
  - lib/that_language/client.rb
102
116
  - lib/that_language/client/config.rb
117
+ - lib/that_language/client/details_query.rb
118
+ - lib/that_language/client/detect_query.rb
103
119
  - lib/that_language/client/language_code_query.rb
120
+ - lib/that_language/client/language_query.rb
121
+ - lib/that_language/client/query.rb
104
122
  - lib/that_language/client/version.rb
105
123
  - that_language-client.gemspec
106
- homepage: http://gitlab.patrick-helm.de/Ruby/that_language-client
124
+ homepage: https://github.com/Deradon/that_language-client
107
125
  licenses:
108
126
  - MIT
109
127
  metadata: {}
@@ -118,13 +136,13 @@ required_ruby_version: !ruby/object:Gem::Requirement
118
136
  version: '0'
119
137
  required_rubygems_version: !ruby/object:Gem::Requirement
120
138
  requirements:
121
- - - ">"
139
+ - - ">="
122
140
  - !ruby/object:Gem::Version
123
- version: 1.3.1
141
+ version: '0'
124
142
  requirements: []
125
143
  rubyforge_project:
126
144
  rubygems_version: 2.4.6
127
145
  signing_key:
128
146
  specification_version: 4
129
- summary: Detect language for given text.
147
+ summary: API client for ThatLanguage.
130
148
  test_files: []