kamigo 0.28.0 → 0.29.0
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/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
|