line-bot-api 0.1.4 → 0.1.5

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