talk_api 0.1.3 → 0.1.4

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
  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