line-bot-api 0.1.5 → 0.1.6
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/README.md +14 -14
- data/lib/line/bot.rb +2 -0
- data/lib/line/bot/api.rb +1 -1
- data/lib/line/bot/api/version.rb +1 -1
- data/lib/line/bot/builder/multiple_message.rb +1 -2
- data/lib/line/bot/builder/rich_message.rb +12 -13
- data/lib/line/bot/client.rb +14 -11
- data/lib/line/bot/httpclient.rb +31 -0
- data/lib/line/bot/request.rb +15 -27
- data/lib/line/bot/utils.rb +16 -0
- data/line-bot-api.gemspec +3 -1
- metadata +47 -17
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 161279afee5cb107987d9f247df54fa7a09cdee5
|
4
|
+
data.tar.gz: 0d00ed7883c0445d4b1fc7b3ca5fe99cb02ec6f9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 943f09b22add1864399a8225708316e2cadd6a9c88754d1171537228ef32bf10e030e653c30c39193247349c069133f333668471318badde9e8d17b25711f45d
|
7
|
+
data.tar.gz: cae6f3adfff0aeb94cf1dd2337073097a9b9ab6331985294c6eab40938242feb585f92b89b111fe78f1638aea8a9b44af70f42034cdecb612d8461e11cdd5061
|
data/README.md
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
|
6
6
|
Line::Bot::API - SDK of the LINE BOT API Trial for Ruby
|
7
7
|
|
8
|
-
```
|
8
|
+
```ruby
|
9
9
|
# app.rb
|
10
10
|
require 'sinatra'
|
11
11
|
require 'line/bot'
|
@@ -58,7 +58,7 @@ Or install it yourself as:
|
|
58
58
|
|
59
59
|
## Configuration
|
60
60
|
|
61
|
-
```
|
61
|
+
```ruby
|
62
62
|
client = Line::Bot::Client.new do |config|
|
63
63
|
config.channel_id = 'YOUR LINE BOT Channel ID'
|
64
64
|
config.channel_secret = 'YOUR LINE BOT Channel Secret'
|
@@ -77,7 +77,7 @@ After configuring a client, you can start sending messages as the following refe
|
|
77
77
|
Sending message APIs requires the following parameter.
|
78
78
|
- `:to_mid` String or Array
|
79
79
|
|
80
|
-
```
|
80
|
+
```ruby
|
81
81
|
client.send_text(
|
82
82
|
to_mid: '12345678',
|
83
83
|
)
|
@@ -88,7 +88,7 @@ client.send_text(
|
|
88
88
|
|
89
89
|
#### send_text
|
90
90
|
|
91
|
-
```
|
91
|
+
```ruby
|
92
92
|
client.send_text(
|
93
93
|
to_mid: to_mid,
|
94
94
|
text: 'Hello',
|
@@ -97,7 +97,7 @@ client.send_text(
|
|
97
97
|
|
98
98
|
#### send_image
|
99
99
|
|
100
|
-
```
|
100
|
+
```ruby
|
101
101
|
client.send_image(
|
102
102
|
to_mid: to_mid,
|
103
103
|
image_url: 'http://example.com/image.jpg', # originalContentUrl
|
@@ -107,7 +107,7 @@ client.send_image(
|
|
107
107
|
|
108
108
|
#### send_video
|
109
109
|
|
110
|
-
```
|
110
|
+
```ruby
|
111
111
|
client.send_video(
|
112
112
|
to_mid: to_mid,
|
113
113
|
video_url: 'http://example.com/video.mp4', # originalContentUrl
|
@@ -117,7 +117,7 @@ client.send_video(
|
|
117
117
|
|
118
118
|
#### send_audio
|
119
119
|
|
120
|
-
```
|
120
|
+
```ruby
|
121
121
|
client.send_audio(
|
122
122
|
to_mid: to_mid,
|
123
123
|
audio_url: 'http://example.com/audio.mp3', # originalContentUrl
|
@@ -127,7 +127,7 @@ client.send_audio(
|
|
127
127
|
|
128
128
|
#### send_location
|
129
129
|
|
130
|
-
```
|
130
|
+
```ruby
|
131
131
|
client.send_location(
|
132
132
|
to_mid: to_mid,
|
133
133
|
title: 'LINE Corporation.',
|
@@ -143,7 +143,7 @@ See online documentation to find which sticker's you can send.
|
|
143
143
|
|
144
144
|
- [https://developers.line.me/bot-api/api-reference#sending_message_sticker](https://developers.line.me/bot-api/api-reference#sending_message_sticker)
|
145
145
|
|
146
|
-
```
|
146
|
+
```ruby
|
147
147
|
client.send_sticker(
|
148
148
|
to_mid: to_mid,
|
149
149
|
stkpkgid: 2, # contentMetadata.STKPKGID
|
@@ -157,7 +157,7 @@ client.send_sticker(
|
|
157
157
|
Support on sending multiple message.
|
158
158
|
- [https://developers.line.me/bot-api/api-reference#sending_multiple_messages](https://developers.line.me/bot-api/api-reference#sending_multiple_messages)
|
159
159
|
|
160
|
-
```
|
160
|
+
```ruby
|
161
161
|
client.multiple_message.add_text(
|
162
162
|
text: text,
|
163
163
|
).add_image(
|
@@ -189,7 +189,7 @@ Support on sending rich message.
|
|
189
189
|
See also a online document.
|
190
190
|
- [https://developers.line.me/bot-api/api-reference#sending_rich_content_message](https://developers.line.me/bot-api/api-reference#sending_rich_content_message)
|
191
191
|
|
192
|
-
```
|
192
|
+
```ruby
|
193
193
|
client.rich_message.set_action(
|
194
194
|
MANGA: {
|
195
195
|
text: 'manga',
|
@@ -210,7 +210,7 @@ client.rich_message.set_action(
|
|
210
210
|
|
211
211
|
### Signature validation
|
212
212
|
|
213
|
-
```
|
213
|
+
```ruby
|
214
214
|
request = Rack::Request.new( .. )
|
215
215
|
signature = request.env['HTTP_X_LINE_CHANNELSIGNATURE']
|
216
216
|
unless client.validate_signature(request.body.read, signature)
|
@@ -220,7 +220,7 @@ end
|
|
220
220
|
|
221
221
|
### Receiving request
|
222
222
|
|
223
|
-
```
|
223
|
+
```ruby
|
224
224
|
request = Rack::Request.new( .. )
|
225
225
|
|
226
226
|
receive_request = Line::Bot::Receive::Request.new(request.env)
|
@@ -252,7 +252,7 @@ Get the preview image file which was sent by user.
|
|
252
252
|
|
253
253
|
### Getting user profile information
|
254
254
|
|
255
|
-
```
|
255
|
+
```ruby
|
256
256
|
user_profile = client.get_user_profile("1234567")
|
257
257
|
user_profile #=> [Line::Bot::Response::User::Profile]
|
258
258
|
user_profile.contacts #=> [Array<Line::Bot::Response::User::Contact>]
|
data/lib/line/bot.rb
CHANGED
data/lib/line/bot/api.rb
CHANGED
data/lib/line/bot/api/version.rb
CHANGED
@@ -17,7 +17,6 @@ module Line
|
|
17
17
|
attrs.each { |key, value|
|
18
18
|
raise ArgumentError, 'Invalid arguments, :text, :link_url keys.' unless validate_action_attributes(value)
|
19
19
|
|
20
|
-
@actions[key.to_s] ||= {}
|
21
20
|
@actions[key.to_s] = {
|
22
21
|
type: 'web',
|
23
22
|
text: value[:text].to_s,
|
@@ -35,23 +34,23 @@ module Line
|
|
35
34
|
|
36
35
|
def add_listener(attrs = {})
|
37
36
|
tap {
|
38
|
-
raise ArgumentError, 'Invalid arguments, :x
|
37
|
+
raise ArgumentError, 'Invalid arguments, :x, :y, :width, :height keys.' unless validate_listener_attributes(attrs)
|
39
38
|
|
40
39
|
listener = {
|
41
40
|
type: 'touch', # Fixed "touch".
|
42
|
-
params: [attrs[:x], attrs[:y], attrs[:width], attrs[:height]],
|
43
|
-
action: attrs[:action],
|
41
|
+
params: [attrs[:x].to_i, attrs[:y].to_i, attrs[:width].to_i, attrs[:height].to_i],
|
42
|
+
action: attrs[:action].to_s,
|
44
43
|
}
|
45
44
|
@listeners << listener
|
46
45
|
}
|
47
46
|
end
|
48
47
|
|
49
48
|
def validate_listener_attributes(attrs = {})
|
50
|
-
attrs[:action]
|
51
|
-
attrs[:x]
|
52
|
-
attrs[:y]
|
53
|
-
attrs[:width]
|
54
|
-
attrs[:height]
|
49
|
+
attrs[:action] &&
|
50
|
+
attrs[:x] &&
|
51
|
+
attrs[:y] &&
|
52
|
+
attrs[:width] &&
|
53
|
+
attrs[:height]
|
55
54
|
end
|
56
55
|
|
57
56
|
# send rich message to line server and to users
|
@@ -87,12 +86,12 @@ module Line
|
|
87
86
|
def content
|
88
87
|
{
|
89
88
|
contentType: Line::Bot::Message::ContentType::RICH_MESSAGE,
|
90
|
-
toType:
|
89
|
+
toType: Line::Bot::Message::RecipientType::USER,
|
91
90
|
contentMetadata: {
|
92
91
|
DOWNLOAD_URL: @image_url,
|
93
92
|
SPEC_REV: "1", # Fixed "1".
|
94
93
|
ALT_TEXT: @alt_text,
|
95
|
-
MARKUP_JSON:
|
94
|
+
MARKUP_JSON: markup.to_json,
|
96
95
|
},
|
97
96
|
}
|
98
97
|
end
|
@@ -101,7 +100,7 @@ module Line
|
|
101
100
|
@image_url && @alt_text
|
102
101
|
end
|
103
102
|
|
104
|
-
def
|
103
|
+
def markup
|
105
104
|
{
|
106
105
|
canvas: {
|
107
106
|
height: height,
|
@@ -131,7 +130,7 @@ module Line
|
|
131
130
|
listeners: @listeners
|
132
131
|
}
|
133
132
|
}
|
134
|
-
}
|
133
|
+
}
|
135
134
|
end
|
136
135
|
|
137
136
|
end
|
data/lib/line/bot/client.rb
CHANGED
@@ -10,19 +10,23 @@ module Line
|
|
10
10
|
module Bot
|
11
11
|
class Client
|
12
12
|
|
13
|
+
include Line::Bot::Utils
|
14
|
+
|
13
15
|
# @return [String]
|
14
|
-
attr_accessor :channel_id, :channel_secret, :channel_mid, :endpoint, :to_channel_id
|
16
|
+
attr_accessor :channel_id, :channel_secret, :channel_mid, :endpoint, :to_channel_id, :httpclient
|
15
17
|
|
16
18
|
# Initialize a new Bot Client.
|
17
19
|
#
|
18
20
|
# @param options [Hash]
|
19
21
|
#
|
20
|
-
# @return [
|
22
|
+
# @return [Line::Bot::Client]
|
21
23
|
def initialize(options = {})
|
22
24
|
options.each do |key, value|
|
23
25
|
instance_variable_set("@#{key}", value)
|
24
26
|
end
|
25
27
|
yield(self) if block_given?
|
28
|
+
|
29
|
+
@httpclient ||= Line::Bot::HTTPClient.new
|
26
30
|
end
|
27
31
|
|
28
32
|
def endpoint
|
@@ -171,8 +175,9 @@ module Line
|
|
171
175
|
|
172
176
|
request = Request.new do |config|
|
173
177
|
config.to_channel_id = to_channel_id
|
178
|
+
config.httpclient = httpclient
|
174
179
|
config.endpoint = endpoint
|
175
|
-
config.endpoint_path = '/
|
180
|
+
config.endpoint_path = '/events'
|
176
181
|
config.credentials = credentials
|
177
182
|
config.to_mid = to_mid
|
178
183
|
config.message = message
|
@@ -189,7 +194,7 @@ module Line
|
|
189
194
|
#
|
190
195
|
# @return [Net::HTTPResponse]
|
191
196
|
def get_message_content(identifier)
|
192
|
-
endpoint_path = "/
|
197
|
+
endpoint_path = "/bot/message/#{identifier}/content"
|
193
198
|
get(endpoint_path)
|
194
199
|
end
|
195
200
|
|
@@ -201,7 +206,7 @@ module Line
|
|
201
206
|
#
|
202
207
|
# @return [Net::HTTPResponse]
|
203
208
|
def get_message_content_preview(identifier)
|
204
|
-
endpoint_path = "/
|
209
|
+
endpoint_path = "/bot/message/#{identifier}/content/preview"
|
205
210
|
get(endpoint_path)
|
206
211
|
end
|
207
212
|
|
@@ -214,13 +219,10 @@ module Line
|
|
214
219
|
#
|
215
220
|
# @return [Line::Bot::Response::User::Profile]
|
216
221
|
def get_user_profile(mids)
|
217
|
-
raise ArgumentError, 'Wrong argument type `mids`' unless
|
218
|
-
|
219
|
-
mids = mids.instance_of?(String) ? [mids] : mids
|
220
|
-
|
221
|
-
raise ArgumentError, 'Wrong argument type `mids`' unless mids.size > 0 && mids.reject {|item| item.instance_of?(String) }
|
222
|
+
raise ArgumentError, 'Wrong argument type `mids`' unless validate_mids(mids)
|
222
223
|
|
223
|
-
|
224
|
+
query = mids.is_a?(Array) ? mids.join(',') : mids
|
225
|
+
endpoint_path = "/profiles?mids=#{query}"
|
224
226
|
|
225
227
|
response = get(endpoint_path)
|
226
228
|
|
@@ -237,6 +239,7 @@ module Line
|
|
237
239
|
|
238
240
|
request = Request.new do |config|
|
239
241
|
config.to_channel_id = to_channel_id
|
242
|
+
config.httpclient = httpclient
|
240
243
|
config.endpoint = endpoint
|
241
244
|
config.endpoint_path = endpoint_path
|
242
245
|
config.credentials = credentials
|
@@ -0,0 +1,31 @@
|
|
1
|
+
require 'line/bot/api/version'
|
2
|
+
require 'json'
|
3
|
+
require 'net/http'
|
4
|
+
require 'uri'
|
5
|
+
|
6
|
+
module Line
|
7
|
+
module Bot
|
8
|
+
class HTTPClient
|
9
|
+
|
10
|
+
# @return [Net::HTTP]
|
11
|
+
def http(uri)
|
12
|
+
http = Net::HTTP.new(uri.host, uri.port)
|
13
|
+
if uri.scheme == "https"
|
14
|
+
http.use_ssl = true
|
15
|
+
end
|
16
|
+
|
17
|
+
http
|
18
|
+
end
|
19
|
+
|
20
|
+
def get(url, header = {})
|
21
|
+
uri = URI(url)
|
22
|
+
http(uri).get(uri.request_uri, header)
|
23
|
+
end
|
24
|
+
|
25
|
+
def post(url, payload, header = {})
|
26
|
+
uri = URI(url)
|
27
|
+
http(uri).post(uri.request_uri, payload, header)
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
data/lib/line/bot/request.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'line/bot/api/version'
|
2
|
+
require 'line/bot/utils'
|
2
3
|
require 'json'
|
3
4
|
require 'net/http'
|
4
5
|
require 'uri'
|
@@ -6,34 +7,20 @@ require 'uri'
|
|
6
7
|
module Line
|
7
8
|
module Bot
|
8
9
|
class Request
|
9
|
-
attr_accessor :endpoint, :endpoint_path, :credentials, :to_mid, :message, :to_channel_id
|
10
|
+
attr_accessor :endpoint, :endpoint_path, :credentials, :to_mid, :message, :to_channel_id, :httpclient
|
11
|
+
|
12
|
+
include Line::Bot::Utils
|
10
13
|
|
11
14
|
# Initializes a new Request
|
12
15
|
#
|
13
|
-
# @return [
|
16
|
+
# @return [Line::Bot::Request]
|
14
17
|
def initialize
|
15
18
|
yield(self) if block_given?
|
16
19
|
end
|
17
20
|
|
18
|
-
# @return [Net::HTTP]
|
19
|
-
def https
|
20
|
-
uri = URI(endpoint)
|
21
|
-
https = Net::HTTP.new(uri.host, uri.port)
|
22
|
-
if uri.scheme == "https"
|
23
|
-
https.use_ssl = true
|
24
|
-
end
|
25
|
-
|
26
|
-
https
|
27
|
-
end
|
28
|
-
|
29
21
|
# @return [Array]
|
30
22
|
def to
|
31
|
-
|
32
|
-
to = to_mid.instance_of?(String) ? [to_mid] : to_mid
|
33
|
-
|
34
|
-
raise ArgumentError, 'Wrong argument type `to_mid`' unless to.size > 0 && to.reject {|item| item.instance_of?(String) }
|
35
|
-
|
36
|
-
to
|
23
|
+
to_mid.is_a?(String) ? [to_mid] : to_mid
|
37
24
|
end
|
38
25
|
|
39
26
|
# @return [Line::Bot::Message::Base#content]
|
@@ -70,8 +57,8 @@ module Line
|
|
70
57
|
#
|
71
58
|
# @return [Net::HTTPResponse]
|
72
59
|
def get
|
73
|
-
|
74
|
-
|
60
|
+
assert_for_getting_message
|
61
|
+
httpclient.get(endpoint + endpoint_path, header)
|
75
62
|
end
|
76
63
|
|
77
64
|
# Post content of specified URL.
|
@@ -80,17 +67,18 @@ module Line
|
|
80
67
|
#
|
81
68
|
# @return [Net::HTTPResponse]
|
82
69
|
def post
|
83
|
-
|
84
|
-
|
70
|
+
assert_for_posting_message
|
71
|
+
httpclient.post(endpoint + endpoint_path, payload, header)
|
85
72
|
end
|
86
73
|
|
87
|
-
def
|
88
|
-
raise ArgumentError, 'Wrong argument type `endpoint_path`' unless endpoint_path.
|
74
|
+
def assert_for_getting_message
|
75
|
+
raise ArgumentError, 'Wrong argument type `endpoint_path`' unless endpoint_path.is_a?(String)
|
89
76
|
end
|
90
77
|
|
91
|
-
def
|
78
|
+
def assert_for_posting_message
|
79
|
+
raise ArgumentError, 'Wrong argument type `to_mid`' unless validate_mids(to)
|
92
80
|
raise ArgumentError, 'Invalid argument `message`' unless message.valid?
|
93
|
-
raise ArgumentError, 'Wrong argument type `endpoint_path`' unless endpoint_path.
|
81
|
+
raise ArgumentError, 'Wrong argument type `endpoint_path`' unless endpoint_path.is_a?(String)
|
94
82
|
end
|
95
83
|
|
96
84
|
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
module Line
|
2
|
+
module Bot
|
3
|
+
module Utils
|
4
|
+
|
5
|
+
# @return [Boolean]
|
6
|
+
def validate_mids(mids)
|
7
|
+
return false unless mids.is_a?(String) || mids.is_a?(Array)
|
8
|
+
mids = [mids] if mids.is_a?(String)
|
9
|
+
|
10
|
+
return false unless mids.size > 0
|
11
|
+
|
12
|
+
true
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
data/line-bot-api.gemspec
CHANGED
@@ -20,11 +20,13 @@ Gem::Specification.new do |spec|
|
|
20
20
|
|
21
21
|
spec.required_ruby_version = '>= 2.0.0'
|
22
22
|
|
23
|
-
spec.add_dependency 'rack', '
|
23
|
+
spec.add_dependency 'rack', '>= 1.6'
|
24
24
|
|
25
25
|
spec.add_development_dependency "bundler", "~> 1.11"
|
26
26
|
spec.add_development_dependency "rake", "~> 10.0"
|
27
27
|
spec.add_development_dependency "webmock", "~> 1.24"
|
28
|
+
spec.add_development_dependency "rest-client", "~> 1.8"
|
29
|
+
spec.add_development_dependency "httpclient", "~> 2.8"
|
28
30
|
spec.add_development_dependency "addressable", "~> 2.3"
|
29
31
|
spec.add_development_dependency "rspec", "~> 3.0"
|
30
32
|
end
|
metadata
CHANGED
@@ -1,97 +1,125 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: line-bot-api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- LINE Corporation
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-05-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rack
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '1.6'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- -
|
24
|
+
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '1.6'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: bundler
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - ~>
|
31
|
+
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '1.11'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - ~>
|
38
|
+
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '1.11'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rake
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - ~>
|
45
|
+
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: '10.0'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - ~>
|
52
|
+
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '10.0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: webmock
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - ~>
|
59
|
+
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: '1.24'
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- - ~>
|
66
|
+
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '1.24'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: rest-client
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '1.8'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '1.8'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: httpclient
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '2.8'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '2.8'
|
69
97
|
- !ruby/object:Gem::Dependency
|
70
98
|
name: addressable
|
71
99
|
requirement: !ruby/object:Gem::Requirement
|
72
100
|
requirements:
|
73
|
-
- - ~>
|
101
|
+
- - "~>"
|
74
102
|
- !ruby/object:Gem::Version
|
75
103
|
version: '2.3'
|
76
104
|
type: :development
|
77
105
|
prerelease: false
|
78
106
|
version_requirements: !ruby/object:Gem::Requirement
|
79
107
|
requirements:
|
80
|
-
- - ~>
|
108
|
+
- - "~>"
|
81
109
|
- !ruby/object:Gem::Version
|
82
110
|
version: '2.3'
|
83
111
|
- !ruby/object:Gem::Dependency
|
84
112
|
name: rspec
|
85
113
|
requirement: !ruby/object:Gem::Requirement
|
86
114
|
requirements:
|
87
|
-
- - ~>
|
115
|
+
- - "~>"
|
88
116
|
- !ruby/object:Gem::Version
|
89
117
|
version: '3.0'
|
90
118
|
type: :development
|
91
119
|
prerelease: false
|
92
120
|
version_requirements: !ruby/object:Gem::Requirement
|
93
121
|
requirements:
|
94
|
-
- - ~>
|
122
|
+
- - "~>"
|
95
123
|
- !ruby/object:Gem::Version
|
96
124
|
version: '3.0'
|
97
125
|
description: Line::Bot::API - SDK of the LINE BOT API
|
@@ -112,6 +140,7 @@ files:
|
|
112
140
|
- lib/line/bot/builder/rich_message.rb
|
113
141
|
- lib/line/bot/client.rb
|
114
142
|
- lib/line/bot/event_type.rb
|
143
|
+
- lib/line/bot/httpclient.rb
|
115
144
|
- lib/line/bot/message.rb
|
116
145
|
- lib/line/bot/message/audio.rb
|
117
146
|
- lib/line/bot/message/base.rb
|
@@ -134,6 +163,7 @@ files:
|
|
134
163
|
- lib/line/bot/request.rb
|
135
164
|
- lib/line/bot/response/user/contact.rb
|
136
165
|
- lib/line/bot/response/user/profile.rb
|
166
|
+
- lib/line/bot/utils.rb
|
137
167
|
- line-bot-api.gemspec
|
138
168
|
homepage: https://github.com/line/line-bot-sdk-ruby
|
139
169
|
licenses:
|
@@ -145,17 +175,17 @@ require_paths:
|
|
145
175
|
- lib
|
146
176
|
required_ruby_version: !ruby/object:Gem::Requirement
|
147
177
|
requirements:
|
148
|
-
- -
|
178
|
+
- - ">="
|
149
179
|
- !ruby/object:Gem::Version
|
150
180
|
version: 2.0.0
|
151
181
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
152
182
|
requirements:
|
153
|
-
- -
|
183
|
+
- - ">="
|
154
184
|
- !ruby/object:Gem::Version
|
155
185
|
version: '0'
|
156
186
|
requirements: []
|
157
187
|
rubyforge_project:
|
158
|
-
rubygems_version: 2.
|
188
|
+
rubygems_version: 2.5.1
|
159
189
|
signing_key:
|
160
190
|
specification_version: 4
|
161
191
|
summary: Line::Bot::API - SDK of the LINE BOT API
|