line-bot-api 0.1.4 → 0.1.5

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: 34aed4d7d709d061145c871049c8aa0c824203a6
4
- data.tar.gz: ad1f29d63e4afe2ff7a90310f1c23d122b0f8fa3
3
+ metadata.gz: b41e29013d616c2fecb76ddb866b0289b6c7a84c
4
+ data.tar.gz: 395a71ae0ff3bd8e181c946476a804a8d8988bfb
5
5
  SHA512:
6
- metadata.gz: df422a9398c0839c53bbc70f2b8546d28acd847a2a702f652d5c5129c76cf14704e41600d2523f19a7ab0a8fd0288cb649a059b45d47e67ca1235cca41981c6f
7
- data.tar.gz: 63ef43687bc79b79854d98e0ffcc7fa9619775588ad1f22d49d18402c66a4235bc0955ae7a66d9afbc3a0905e8267668992eb68ee72c8d1e1cc849757d7389de
6
+ metadata.gz: feeed8fecc5ccbc5edd61439b14c5651c611de434a8b21458e828e69ae92371eb5e41adda9b836d0a914870fa003b43e69fe01a65333a00840777dba995e3c63
7
+ data.tar.gz: 888d5eb50735c6f644cc3c2b55fdeff2604d38c39d62f5738ed7f8d480bd6d03fe3daf0a1d3741f48c61dbe147c595ac9f23796c37a35b84d280f145279df982
data/README.md CHANGED
@@ -1,8 +1,44 @@
1
1
  # Line::Bot::API
2
2
 
3
+ [![Gem-version](https://img.shields.io/gem/v/line-bot-api.svg)](https://rubygems.org/gems/line-bot-api) [![Build Status](https://travis-ci.org/line/line-bot-sdk-ruby.svg?branch=master)](https://travis-ci.org/line/line-bot-sdk-ruby)
4
+
5
+
3
6
  Line::Bot::API - SDK of the LINE BOT API Trial for Ruby
4
7
 
5
- [![Gem-version](https://img.shields.io/gem/v/line-bot-api.svg)](https://rubygems.org/gems/line-bot-api) [![Build Status](https://travis-ci.org/line/line-bot-sdk-ruby.svg?branch=master)](https://travis-ci.org/line/line-bot-sdk-ruby)
8
+ ```
9
+ # app.rb
10
+ require 'sinatra'
11
+ require 'line/bot'
12
+
13
+ def client
14
+ @client ||= Line::Bot::Client.new { |config|
15
+ config.channel_id = ENV["LINE_CHANNEL_ID"]
16
+ config.channel_secret = ENV["LINE_CHANNEL_SECRET"]
17
+ config.channel_mid = ENV["LINE_CHANNEL_MID"]
18
+ }
19
+ end
20
+
21
+ post '/callback' do
22
+ signature = request.env['HTTP_X_LINE_CHANNELSIGNATURE']
23
+ unless client.validate_signature(request.body.read, signature)
24
+ error 400 do 'Bad Request' end
25
+ end
26
+
27
+ receive_request = Line::Bot::Receive::Request.new(request.env)
28
+
29
+ receive_request.data.each { |message|
30
+ case message.content
31
+ when Line::Bot::Message::Text
32
+ client.send_text(
33
+ to_mid: message.from_mid,
34
+ text: message.content[:text],
35
+ )
36
+ end
37
+ }
38
+
39
+ "OK"
40
+ end
41
+ ```
6
42
 
7
43
  ## Installation
8
44
 
@@ -185,12 +221,12 @@ end
185
221
  ### Receiving request
186
222
 
187
223
  ```
188
- request_from_rack = Rack::Request.new( .. )
224
+ request = Rack::Request.new( .. )
189
225
 
190
- request = Line::Bot::Receive::Request.new(request_from_rack.env)
191
- request.data #=> [Array<Line::Bot::Receive::Message || Line::Bot::Receive::Operation>]
226
+ receive_request = Line::Bot::Receive::Request.new(request.env)
227
+ receive_request.data #=> [Array<Line::Bot::Receive::Message || Line::Bot::Receive::Operation>]
192
228
 
193
- request.data.each { |message|
229
+ receive_request.data.each { |message|
194
230
  case message.content
195
231
  when Line::Bot::Message::Image, Line::Bot::Message::Video
196
232
  # get message content
@@ -1,7 +1,7 @@
1
1
  module Line
2
2
  module Bot
3
3
  module API
4
- VERSION = "0.1.4"
4
+ VERSION = "0.1.5"
5
5
  end
6
6
  end
7
7
  end
@@ -72,7 +72,7 @@ module Line
72
72
  end
73
73
 
74
74
  def push_message(message)
75
- raise ArgumentError, "Invalid arguments" unless message.valid?
75
+ raise ArgumentError, "Invalid argument: `message`" unless message.valid?
76
76
  @messages << message.content
77
77
  end
78
78
 
@@ -214,9 +214,12 @@ module Line
214
214
  #
215
215
  # @return [Line::Bot::Response::User::Profile]
216
216
  def get_user_profile(mids)
217
- raise ArgumentError, 'Invalid arguments, mids' unless mids.instance_of?(String) || mids.instance_of?(Array)
217
+ raise ArgumentError, 'Wrong argument type `mids`' unless mids.instance_of?(String) || mids.instance_of?(Array)
218
218
 
219
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
+
220
223
  endpoint_path = "/v1/profiles?mids=#{mids.join(',')}"
221
224
 
222
225
  response = get(endpoint_path)
@@ -28,9 +28,12 @@ module Line
28
28
 
29
29
  # @return [Array]
30
30
  def to
31
- raise ArgumentError, 'Invalid arguments, to_mid' unless to_mid.instance_of?(String) || to_mid.instance_of?(Array)
31
+ raise ArgumentError, 'Wrong argument type `to_mid`' unless to_mid.instance_of?(String) || to_mid.instance_of?(Array)
32
+ to = to_mid.instance_of?(String) ? [to_mid] : to_mid
32
33
 
33
- to_mid.instance_of?(String) ? [to_mid] : to_mid
34
+ raise ArgumentError, 'Wrong argument type `to_mid`' unless to.size > 0 && to.reject {|item| item.instance_of?(String) }
35
+
36
+ to
34
37
  end
35
38
 
36
39
  # @return [Line::Bot::Message::Base#content]
@@ -67,8 +70,7 @@ module Line
67
70
  #
68
71
  # @return [Net::HTTPResponse]
69
72
  def get
70
- raise ArgumentError, "Invalid arguments" unless validate_for_getting_message?
71
-
73
+ validate_for_getting_message
72
74
  https.get(endpoint_path, header)
73
75
  end
74
76
 
@@ -78,17 +80,17 @@ module Line
78
80
  #
79
81
  # @return [Net::HTTPResponse]
80
82
  def post
81
- raise ArgumentError, "Invalid arguments" unless validate_for_posting_message?
82
-
83
+ validate_for_posting_message
83
84
  https.post(endpoint_path, payload, header)
84
85
  end
85
86
 
86
- def validate_for_getting_message?
87
- !endpoint_path.nil?
87
+ def validate_for_getting_message
88
+ raise ArgumentError, 'Wrong argument type `endpoint_path`' unless endpoint_path.instance_of?(String)
88
89
  end
89
90
 
90
- def validate_for_posting_message?
91
- to.size > 0 && message.valid? && endpoint_path
91
+ def validate_for_posting_message
92
+ raise ArgumentError, 'Invalid argument `message`' unless message.valid?
93
+ raise ArgumentError, 'Wrong argument type `endpoint_path`' unless endpoint_path.instance_of?(String)
92
94
  end
93
95
 
94
96
  end
data/line-bot-api.gemspec CHANGED
@@ -25,6 +25,6 @@ Gem::Specification.new do |spec|
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 "addressable", ">= 2.3.6"
28
+ spec.add_development_dependency "addressable", "~> 2.3"
29
29
  spec.add_development_dependency "rspec", "~> 3.0"
30
30
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: line-bot-api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.5
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-04-22 00:00:00.000000000 Z
11
+ date: 2016-04-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rack
@@ -70,16 +70,16 @@ dependencies:
70
70
  name: addressable
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - '>='
73
+ - - ~>
74
74
  - !ruby/object:Gem::Version
75
- version: 2.3.6
75
+ version: '2.3'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - '>='
80
+ - - ~>
81
81
  - !ruby/object:Gem::Version
82
- version: 2.3.6
82
+ version: '2.3'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: rspec
85
85
  requirement: !ruby/object:Gem::Requirement