stealth 0.10.1 → 0.10.2

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
- SHA1:
3
- metadata.gz: 334f9e3c6cc796dd9c3ed123d9226b764681170a
4
- data.tar.gz: 637b3749ec73a66dc6f4f09e0d44e74bbb13369f
2
+ SHA256:
3
+ metadata.gz: 2f83e4487628f655994dec39aeb5258a3ea025d44a3cac4246f96601ab97ce47
4
+ data.tar.gz: 5aacfce7dffa452760ec58a2039c02942a7505f8dcc7c86d145b9c7c14f8afbc
5
5
  SHA512:
6
- metadata.gz: 4e12660a2fd12c23f08837c578a1c64423ef4fc29e7682b522152a820567107614e7ee52648a2a9dbe44b3aad4b3308db31f31fcca5303278ec1f0ab89706d0d
7
- data.tar.gz: 40f9f7c4e9eb231cfd9efe0eb415553f709f85c0ac007b1b7d3b4746046e9220acf0d074c680648ac565e3fc61c36fde0c55536417eaa96bdd04e535c82b463d
6
+ metadata.gz: 1fbffa4f483f158a5d9bb64ef7ded968467ff923ec59e7dbb330472e8d88a53a96d686af805a37c6124cf9465a7ebe74bef82d22dc65447c65c2e861d1e5e982
7
+ data.tar.gz: 4addf66269c126893d698b0b42e3ff285d90619ea71b38e36ed45e2ea82641a7504a1b23dd6e948627653ce7bedbffd2a12e8c0f5ed0b08dc5299e671fc46b67
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- stealth (0.10.0)
4
+ stealth (0.10.2)
5
5
  activesupport (~> 5.1)
6
6
  multi_json (~> 1.12)
7
7
  puma (~> 3.10)
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.10.1
1
+ 0.10.2
@@ -105,6 +105,7 @@ module Stealth
105
105
  end
106
106
 
107
107
  Stealth::ScheduledReplyJob.perform_in(delay, current_service, current_user_id, flow, state)
108
+ Stealth::Logger.l(topic: "session", message: "User #{current_user_id}: scheduled session step to #{flow}->#{state} in #{delay} seconds")
108
109
  end
109
110
 
110
111
  def step_to(session: nil, flow: nil, state: nil)
@@ -160,12 +161,16 @@ module Stealth
160
161
  end
161
162
 
162
163
  def update_session(flow:, state:)
164
+ Stealth::Logger.l(topic: "session", message: "User #{current_user_id}: updating session to #{flow}->#{state}")
165
+
163
166
  @current_session = Stealth::Session.new(user_id: current_user_id)
164
167
  @progressed = :updated_session
165
168
  @current_session.set(flow: flow, state: state)
166
169
  end
167
170
 
168
171
  def step(flow:, state:)
172
+ Stealth::Logger.l(topic: "session", message: "User #{current_user_id}: stepping to #{flow}->#{state}")
173
+
169
174
  update_session(flow: flow, state: state)
170
175
  @progressed = :stepped
171
176
  @flow_controller = nil
@@ -59,7 +59,7 @@ module Stealth
59
59
  end
60
60
 
61
61
  def set(flow:, state:)
62
- store_current_to_previous
62
+ store_current_to_previous(flow: flow, state: state)
63
63
 
64
64
  @flow = nil
65
65
  @session = canonical_session_slug(flow: flow, state: state)
@@ -109,8 +109,16 @@ module Stealth
109
109
  [user_id, 'previous'].join('-')
110
110
  end
111
111
 
112
- def store_current_to_previous
113
- $redis.set(previous_session_key(user_id: user_id), session)
112
+ def store_current_to_previous(flow:, state:)
113
+ new_session = canonical_session_slug(flow: flow, state: state)
114
+
115
+ # Prevent previous_session from becoming current_session
116
+ if new_session == session
117
+ Stealth::Logger.l(topic: "previous_session", message: "User #{user_id}: skipping setting to #{session} because it is the same as current_session")
118
+ else
119
+ Stealth::Logger.l(topic: "previous_session", message: "User #{user_id}: setting to #{session}")
120
+ $redis.set(previous_session_key(user_id: user_id), session)
121
+ end
114
122
  end
115
123
 
116
124
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: stealth
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.10.1
4
+ version: 0.10.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mauricio Gomes
@@ -229,7 +229,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
229
229
  version: '0'
230
230
  requirements: []
231
231
  rubyforge_project:
232
- rubygems_version: 2.6.12
232
+ rubygems_version: 2.7.3
233
233
  signing_key:
234
234
  specification_version: 4
235
235
  summary: Ruby framework for conversational bots