kamigo 0.28.0 → 0.29.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/kamigo/event_processors/default_message_processor.rb +15 -0
- data/lib/kamigo/event_processors/default_path_processor.rb +30 -0
- data/lib/kamigo/event_processors/rails_router_processor.rb +0 -3
- data/lib/kamigo/request_handlers/line_request_handler.rb +1 -1
- data/lib/kamigo/version.rb +1 -1
- data/lib/kamigo.rb +5 -1
- metadata +3 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c960a4cef3a73b6bbce83a82b4738ff2d5d8260fa94ff2b9551d6b9b154e783c
|
4
|
+
data.tar.gz: 163f336ec395f7b3b17e21ce2a9f6d499458007a71a6b57b22cf972febf343c0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b5fef886fe7cb04aefb5b39de5285d81753c0f367ea118b87539ef5c9a444a2c40a5d240efbd021a36eb15c501024cd563ba45984aa08602cfbdaf1a43875ab1
|
7
|
+
data.tar.gz: 5132fcb754bb8b44edad84e0b61fa27ede46e5f57cb3215961a60bfaf38c00eca44eebc0ea986e6ad2ca8a3846406fe1a66d3e3979387ea9c54403529676ec25
|
@@ -0,0 +1,15 @@
|
|
1
|
+
module Kamigo
|
2
|
+
module EventProcessors
|
3
|
+
class DefaultMessageProcessor
|
4
|
+
attr_accessor :request
|
5
|
+
attr_accessor :form_authenticity_token
|
6
|
+
|
7
|
+
def process(event)
|
8
|
+
if event.platform_type == "line"
|
9
|
+
return nil if Kamigo.line_default_message.nil?
|
10
|
+
return Kamigo.line_default_message
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
module Kamigo
|
2
|
+
module EventProcessors
|
3
|
+
class DefaultPathProcessor
|
4
|
+
attr_accessor :request
|
5
|
+
attr_accessor :form_authenticity_token
|
6
|
+
|
7
|
+
def process(event)
|
8
|
+
return nil if Kamigo.default_path.nil?
|
9
|
+
reserve_route(URI::Parser.new.escape(Kamigo.default_path), http_method: Kamigo.default_http_method, request_params: event.platform_params, format: :line)
|
10
|
+
end
|
11
|
+
|
12
|
+
private
|
13
|
+
|
14
|
+
def reserve_route(path, http_method: "GET", request_params: nil, format: nil)
|
15
|
+
path = "/#{path}" unless path.start_with? "/"
|
16
|
+
|
17
|
+
@request.request_method = http_method
|
18
|
+
@request.path_info = path
|
19
|
+
@request.format = format if format.present?
|
20
|
+
@request.request_parameters = request_params if request_params.present?
|
21
|
+
|
22
|
+
# req = Rack::Request.new
|
23
|
+
# env = {Rack::RACK_INPUT => StringIO.new}
|
24
|
+
|
25
|
+
res = Rails.application.routes.router.serve(@request)
|
26
|
+
res[2].body if res[2].respond_to?(:body)
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -16,9 +16,6 @@ module Kamigo
|
|
16
16
|
request_params = event.platform_params.merge(request_params)
|
17
17
|
output = reserve_route(encoded_path, http_method: http_method, request_params: request_params, format: :line)
|
18
18
|
return output if output.present?
|
19
|
-
|
20
|
-
return nil if Kamigo.default_path.nil?
|
21
|
-
reserve_route(URI::Parser.new.escape(Kamigo.default_path), http_method: Kamigo.default_http_method, request_params: request_params, format: :line)
|
22
19
|
end
|
23
20
|
|
24
21
|
private
|
@@ -10,7 +10,7 @@ module Kamigo
|
|
10
10
|
parser = EventParsers::LineEventParser.new
|
11
11
|
events = parser.parse_events(@request)
|
12
12
|
events.each do |event|
|
13
|
-
output = process_event(event)
|
13
|
+
output = process_event(event)
|
14
14
|
responser = EventResponsers::LineEventResponser.new
|
15
15
|
response = responser.response_event(event, output)
|
16
16
|
end
|
data/lib/kamigo/version.rb
CHANGED
data/lib/kamigo.rb
CHANGED
@@ -24,7 +24,11 @@ module Kamigo
|
|
24
24
|
@@default_http_method = "GET"
|
25
25
|
|
26
26
|
mattr_accessor :line_event_processors
|
27
|
-
@@line_event_processors = [
|
27
|
+
@@line_event_processors = [
|
28
|
+
EventProcessors::RailsRouterProcessor.new,
|
29
|
+
EventProcessors::DefaultPathProcessor.new,
|
30
|
+
EventProcessors::DefaultMessageProcessor.new
|
31
|
+
]
|
28
32
|
|
29
33
|
# env
|
30
34
|
mattr_writer :line_messaging_api_channel_id
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kamigo
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.29.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- etrex
|
@@ -121,6 +121,8 @@ files:
|
|
121
121
|
- lib/kamigo/clients/line_client.rb
|
122
122
|
- lib/kamigo/engine.rb
|
123
123
|
- lib/kamigo/event_parsers/line_event_parser.rb
|
124
|
+
- lib/kamigo/event_processors/default_message_processor.rb
|
125
|
+
- lib/kamigo/event_processors/default_path_processor.rb
|
124
126
|
- lib/kamigo/event_processors/rails_router_processor.rb
|
125
127
|
- lib/kamigo/event_responsers/line_event_responser.rb
|
126
128
|
- lib/kamigo/events/basic_event.rb
|