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 +4 -4
- data/lib/that_language/client/details_query.rb +23 -0
- data/lib/that_language/client/detect_query.rb +25 -0
- data/lib/that_language/client/language_code_query.rb +4 -22
- data/lib/that_language/client/language_query.rb +17 -0
- data/lib/that_language/client/query.rb +39 -0
- data/lib/that_language/client/version.rb +1 -1
- data/lib/that_language/client.rb +5 -0
- data/lib/that_language.rb +12 -0
- data/that_language-client.gemspec +4 -3
- metadata +25 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 522498cda5d797597000b24c43684a9d17655e5e
|
4
|
+
data.tar.gz: 6e4021897803f96158e2bca7d3a21da918ea6884
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
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
|
-
|
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,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
|
data/lib/that_language/client.rb
CHANGED
@@ -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{
|
13
|
-
spec.description = %q{Detect language for given text.}
|
14
|
-
spec.homepage = "
|
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
|
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-
|
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:
|
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:
|
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:
|
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:
|
147
|
+
summary: API client for ThatLanguage.
|
130
148
|
test_files: []
|