that_language-client 0.1.0.pre2 → 0.1.0

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: 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: []