zenaton 0.4.1 → 0.4.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 +4 -4
- data/.circleci/config.yml +5 -0
- data/CHANGELOG.md +13 -1
- data/Gemfile.lock +2 -2
- data/lib/zenaton/client.rb +7 -3
- data/lib/zenaton/query/builder.rb +5 -5
- data/lib/zenaton/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5193a41e1e744fd9b64001ab65fdbfaa793780dddd9ba18a4e6fa4265a3ae6c7
|
4
|
+
data.tar.gz: 45c818b476ba46ffb22023015b10555a60f91528ef2d8e51770d429663213f0e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bddc36983a08704fab6c903c40dc6edd8691f593e7eedca72078be15ce77d25b571fbd1ad9d4340b2277fc7f0760ab9b959a306c89f41000f55cb3ecb2e1a17f
|
7
|
+
data.tar.gz: f9019cd0975a6d8f013f7516b8df0aac07194b1bf04e3fa9ee48ca9932b94623e557796ebb2cd283393426d009a2c38434d25576b47da8c662d6e155f40fbbd4
|
data/.circleci/config.yml
CHANGED
@@ -54,6 +54,10 @@ jobs:
|
|
54
54
|
<<: *shared
|
55
55
|
docker:
|
56
56
|
- image: circleci/ruby:2.5
|
57
|
+
"ruby-2.6":
|
58
|
+
<<: *shared
|
59
|
+
docker:
|
60
|
+
- image: circleci/ruby:2.6
|
57
61
|
|
58
62
|
workflows:
|
59
63
|
version: 2
|
@@ -62,3 +66,4 @@ workflows:
|
|
62
66
|
- "ruby-2.3"
|
63
67
|
- "ruby-2.4"
|
64
68
|
- "ruby-2.5"
|
69
|
+
- "ruby-2.6"
|
data/CHANGELOG.md
CHANGED
@@ -9,6 +9,17 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
|
|
9
9
|
|
10
10
|
### Added
|
11
11
|
|
12
|
+
### Fixed
|
13
|
+
|
14
|
+
## [0.4.2] - 2019-08-05
|
15
|
+
### Added
|
16
|
+
|
17
|
+
- Added `intent_id` when dispatching workflows and tasks, sending events and
|
18
|
+
pausing/resuming/stoping workflows.
|
19
|
+
|
20
|
+
### Fixed
|
21
|
+
- Fixed an error caused by a bad class name serialization when `as_json` is overrided (in rails for example).
|
22
|
+
|
12
23
|
## [0.4.1] - 2019-06-04
|
13
24
|
### Changes
|
14
25
|
- Fix symbol json encoding breaking compatibility with some gems
|
@@ -85,7 +96,8 @@ available.
|
|
85
96
|
### Added
|
86
97
|
- Initial release.
|
87
98
|
|
88
|
-
[Unreleased]: https://github.com/zenaton/zenaton-ruby/compare/v0.4.
|
99
|
+
[Unreleased]: https://github.com/zenaton/zenaton-ruby/compare/v0.4.2...HEAD
|
100
|
+
[0.4.2]: https://github.com/zenaton/zenaton-ruby/compare/v0.4.1...v0.4.2
|
89
101
|
[0.4.1]: https://github.com/zenaton/zenaton-ruby/compare/v0.4.0...v0.4.1
|
90
102
|
[0.4.0]: https://github.com/zenaton/zenaton-ruby/compare/v0.3.1...v0.4.0
|
91
103
|
[0.3.1]: https://github.com/zenaton/zenaton-ruby/compare/v0.3.0...v0.3.1
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
zenaton (0.4.
|
4
|
+
zenaton (0.4.2)
|
5
5
|
activesupport
|
6
6
|
tzinfo-data
|
7
7
|
|
@@ -73,7 +73,7 @@ GEM
|
|
73
73
|
timecop (0.9.1)
|
74
74
|
tzinfo (1.2.5)
|
75
75
|
thread_safe (~> 0.1)
|
76
|
-
tzinfo-data (1.2019.
|
76
|
+
tzinfo-data (1.2019.2)
|
77
77
|
tzinfo (>= 1.0.0)
|
78
78
|
unicode-display_width (1.4.0)
|
79
79
|
vcr (4.0.0)
|
data/lib/zenaton/client.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
require 'securerandom'
|
3
4
|
require 'singleton'
|
4
5
|
require 'zenaton/services/http'
|
5
6
|
require 'zenaton/services/properties'
|
@@ -22,6 +23,7 @@ module Zenaton
|
|
22
23
|
APP_ID = 'app_id' # Parameter name for the application ID
|
23
24
|
API_TOKEN = 'api_token' # Parameter name for the API token
|
24
25
|
|
26
|
+
ATTR_INTENT_ID = 'intent_id' # Internal parameter for retries
|
25
27
|
ATTR_ID = 'custom_id' # Parameter name for custom ids
|
26
28
|
ATTR_NAME = 'name' # Parameter name for workflow names
|
27
29
|
ATTR_CANONICAL = 'canonical_name' # Parameter name for version name
|
@@ -98,11 +100,10 @@ module Zenaton
|
|
98
100
|
# Start a single task
|
99
101
|
# @param task [Zenaton::Interfaces::Task]
|
100
102
|
def start_task(task)
|
101
|
-
max_processing_time =
|
102
|
-
task.max_processing_time
|
103
|
-
end
|
103
|
+
max_processing_time = task.try(:max_processing_time)
|
104
104
|
@http.post(
|
105
105
|
worker_url('tasks'),
|
106
|
+
ATTR_INTENT_ID => SecureRandom.uuid,
|
106
107
|
ATTR_PROG => PROG,
|
107
108
|
ATTR_NAME => class_name(task),
|
108
109
|
ATTR_DATA => @serializer.encode(@properties.from(task)),
|
@@ -115,6 +116,7 @@ module Zenaton
|
|
115
116
|
def start_workflow(flow)
|
116
117
|
@http.post(
|
117
118
|
instance_worker_url,
|
119
|
+
ATTR_INTENT_ID => SecureRandom.uuid,
|
118
120
|
ATTR_PROG => PROG,
|
119
121
|
ATTR_CANONICAL => canonical_name(flow),
|
120
122
|
ATTR_NAME => class_name(flow),
|
@@ -171,6 +173,7 @@ module Zenaton
|
|
171
173
|
# @return [NilClass]
|
172
174
|
def send_event(workflow_name, custom_id, event)
|
173
175
|
body = {
|
176
|
+
ATTR_INTENT_ID => SecureRandom.uuid,
|
174
177
|
ATTR_PROG => PROG,
|
175
178
|
ATTR_NAME => workflow_name,
|
176
179
|
ATTR_ID => custom_id,
|
@@ -249,6 +252,7 @@ module Zenaton
|
|
249
252
|
params = { ATTR_ID => custom_id }
|
250
253
|
url = instance_worker_url(params)
|
251
254
|
options = {
|
255
|
+
ATTR_INTENT_ID => SecureRandom.uuid,
|
252
256
|
ATTR_PROG => PROG,
|
253
257
|
ATTR_NAME => workflow_name,
|
254
258
|
ATTR_MODE => mode
|
@@ -26,35 +26,35 @@ module Zenaton
|
|
26
26
|
# Finds a workflow
|
27
27
|
# @return [Zenaton::Interfaces::Workflow]
|
28
28
|
def find
|
29
|
-
@client.find_workflow(@klass, @id)
|
29
|
+
@client.find_workflow(@klass.to_s, @id)
|
30
30
|
end
|
31
31
|
|
32
32
|
# Sends an event to a workflow
|
33
33
|
# @param event [Zenaton::Interfaces::Event] the event to send
|
34
34
|
# @return [Zenaton::Query::Builder] the current builder
|
35
35
|
def send_event(event)
|
36
|
-
@client.send_event(@klass, @id, event)
|
36
|
+
@client.send_event(@klass.to_s, @id, event)
|
37
37
|
self
|
38
38
|
end
|
39
39
|
|
40
40
|
# Stops a workflow
|
41
41
|
# @return [Zenaton::Query::Builder] the current builder
|
42
42
|
def kill
|
43
|
-
@client.kill_workflow(@klass, @id)
|
43
|
+
@client.kill_workflow(@klass.to_s, @id)
|
44
44
|
self
|
45
45
|
end
|
46
46
|
|
47
47
|
# Pauses a workflow
|
48
48
|
# @return [Zenaton::Query::Builder] the current builder
|
49
49
|
def pause
|
50
|
-
@client.pause_workflow(@klass, @id)
|
50
|
+
@client.pause_workflow(@klass.to_s, @id)
|
51
51
|
self
|
52
52
|
end
|
53
53
|
|
54
54
|
# Resumes a workflow
|
55
55
|
# @return [Zenaton::Query::Builder] the current builder
|
56
56
|
def resume
|
57
|
-
@client.resume_workflow(@klass, @id)
|
57
|
+
@client.resume_workflow(@klass.to_s, @id)
|
58
58
|
self
|
59
59
|
end
|
60
60
|
|
data/lib/zenaton/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: zenaton
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Zenaton
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-08-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|