talk_api 0.1.3 → 0.1.4

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
  SHA256:
3
- metadata.gz: aebeba1025a89117810b7c48d5d98a6ac9dd384904a7a23dc04a3b2b30d303dd
4
- data.tar.gz: 690bdf548b255c47bbcaa1f1aba501f6e517a21e7a1430f6b1f1e7d7f12cb7fe
3
+ metadata.gz: ca65ad3589c889a1f6a537e6418909a01ace978e11c3b541a622035285e5a626
4
+ data.tar.gz: ef0d57fc1fe6d1543ac08766e11adebb60f66e0ea39c1f692935e6be4bae55d9
5
5
  SHA512:
6
- metadata.gz: faa126f37bd2c4099f18a4bcf3a674b0424f1dddd2611f31a7840074e2fa4ca816e9c3e3bdb4cb06e0644cb9935a11db71a891603c02c68b7ceac5f60b0c4d81
7
- data.tar.gz: d641a9ba729ef7cffef904bf454e06b1dc7fb478e7252a926130a79295a7b4aed1937a89cbb9d4636230bb1f61b79136554ade8f7c5153fbd0c86a4ba4827e8d
6
+ metadata.gz: 742248a305d9d6e2ae1d4402ce7215a37019ae9338d7fc10099690444e500c28f74d1b6bf2013afe3fcbb67b3a05cda8c14680849d853c743eabd33c9a078393
7
+ data.tar.gz: 9d33b6235c3d473aff27852ddcd8ce4660fe744f4e7ea24c5629b0ae39fbd8e78060610113f084f10b9880a0e4495c301a5c28c1e2dfd2e56bc3fbec20a15ac3
data/Gemfile CHANGED
@@ -5,7 +5,11 @@ source 'https://rubygems.org'
5
5
  # Specify your gem's dependencies in talk_api.gemspec
6
6
  gemspec
7
7
 
8
+ gem 'factory_bot', '~> 6.0'
8
9
  gem 'rake', '~> 12.0'
9
10
  gem 'rspec', '~> 3.0'
10
11
  gem 'rubocop', '~> 0.76'
11
12
  gem 'rubocop-rspec', '~> 1.36'
13
+ gem 'simplecov', '~> 0.17'
14
+ gem 'vcr', '~> 6.0'
15
+ gem 'webmock', '~> 3.7'
@@ -3,5 +3,4 @@
3
3
  require 'talk_api/version'
4
4
  require 'talk_api/client'
5
5
  require 'talk_api/error'
6
- require 'talk_api/request'
7
6
  require 'talk_api/response'
@@ -1,14 +1,28 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require 'httpclient'
4
+ require 'json'
5
+
3
6
  module TalkApi
4
7
  # Entry point class
5
8
  class Client
9
+ ENDPOINT_URL = 'https://api.a3rt.recruit-tech.co.jp/talk/v1/smalltalk'
10
+ HEADERS = { 'User-Agent' => "#{self}/#{VERSION}" }.freeze
11
+
6
12
  def initialize(api_key: nil)
7
13
  @api_key = api_key
8
14
  end
9
15
 
10
- def smalltalk(message)
11
- Request.new.call(@api_key, message)
16
+ def smalltalk(text)
17
+ query = text.byteslice(0, 2048).scrub('')
18
+ begin
19
+ client = HTTPClient.new(default_header: HEADERS)
20
+ response = client.post(ENDPOINT_URL, { apikey: @api_key, query: query })
21
+ rescue StandardError => e
22
+ raise HTTPError, e.message
23
+ end
24
+ json = JSON.parse(response.body, symbolize_names: true)
25
+ Response.new(json[:status], json[:message], json[:results])
12
26
  end
13
27
  end
14
28
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module TalkApi
4
- VERSION = '0.1.3'
4
+ VERSION = '0.1.4'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: talk_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryo Nakano
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-08-23 00:00:00.000000000 Z
11
+ date: 2020-08-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httpclient
@@ -43,7 +43,6 @@ files:
43
43
  - lib/talk_api.rb
44
44
  - lib/talk_api/client.rb
45
45
  - lib/talk_api/error.rb
46
- - lib/talk_api/request.rb
47
46
  - lib/talk_api/response.rb
48
47
  - lib/talk_api/version.rb
49
48
  - talk_api.gemspec
@@ -1,26 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'httpclient'
4
- require 'json'
5
-
6
- module TalkApi
7
- # API request class
8
- class Request
9
- ENDPOINT_URL = 'https://api.a3rt.recruit-tech.co.jp/talk/v1/smalltalk'
10
- HEADERS = [
11
- ['User-Agent', "#{self}/#{VERSION}"]
12
- ].freeze
13
-
14
- def call(api_key, message)
15
- query = message.byteslice(0, 2048).scrub('')
16
- begin
17
- client = HTTPClient.new
18
- response = client.post(ENDPOINT_URL, { apikey: api_key, query: query }, header: HEADERS)
19
- rescue StandardError => e
20
- raise HTTPError, e.message
21
- end
22
- json = JSON.parse(response.body, symbolize_names: true)
23
- Response.new(json[:status], json[:message], json[:results])
24
- end
25
- end
26
- end