50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
|
# File 'lib/bot_framework/session.rb', line 50
def dispatch(session_state, message)
index = 0
session = self
now = Time.now
middleware = @options[:middleware] || []
_next = lambda do
handler = middleware[index] if index < middleware.length
if handler
index += 1
handler(session, _next)
else
@in_middleware = false
@session_state[:last_acess] = now
done
end
end
session_state ||= { call_stack: [], last_acess: Time.now, version: 0.0 }
cur = cur_dialog
self.dialog_data = cur.state if cur
message ||= { text: '' }
message[:type] ||= 'message'
self
end
|