temporal-ruby 0.0.1.pre.pre1 → 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (69) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +2 -0
  3. data/README.md +23 -3
  4. data/lib/gen/temporal/api/command/v1/message_pb.rb +1 -1
  5. data/lib/gen/temporal/api/enums/v1/common_pb.rb +7 -0
  6. data/lib/gen/temporal/api/errordetails/v1/message_pb.rb +5 -6
  7. data/lib/gen/temporal/api/version/v1/message_pb.rb +19 -8
  8. data/lib/gen/temporal/api/workflowservice/v1/request_response_pb.rb +19 -8
  9. data/lib/gen/temporal/api/workflowservice/v1/service_services_pb.rb +0 -3
  10. data/lib/temporal.rb +104 -0
  11. data/lib/temporal/activity/context.rb +5 -1
  12. data/lib/temporal/activity/poller.rb +26 -9
  13. data/lib/temporal/activity/task_processor.rb +33 -20
  14. data/lib/temporal/client/converter/base.rb +35 -0
  15. data/lib/temporal/client/converter/composite.rb +49 -0
  16. data/lib/temporal/client/converter/payload/bytes.rb +30 -0
  17. data/lib/temporal/client/converter/payload/json.rb +28 -0
  18. data/lib/temporal/client/converter/payload/nil.rb +27 -0
  19. data/lib/temporal/client/grpc_client.rb +102 -27
  20. data/lib/temporal/client/retryer.rb +49 -0
  21. data/lib/temporal/client/serializer.rb +2 -0
  22. data/lib/temporal/client/serializer/cancel_timer.rb +2 -2
  23. data/lib/temporal/client/serializer/complete_workflow.rb +6 -4
  24. data/lib/temporal/client/serializer/continue_as_new.rb +37 -0
  25. data/lib/temporal/client/serializer/fail_workflow.rb +2 -2
  26. data/lib/temporal/client/serializer/failure.rb +4 -2
  27. data/lib/temporal/client/serializer/record_marker.rb +6 -4
  28. data/lib/temporal/client/serializer/request_activity_cancellation.rb +2 -2
  29. data/lib/temporal/client/serializer/retry_policy.rb +24 -0
  30. data/lib/temporal/client/serializer/schedule_activity.rb +8 -20
  31. data/lib/temporal/client/serializer/start_child_workflow.rb +9 -20
  32. data/lib/temporal/client/serializer/start_timer.rb +2 -2
  33. data/lib/temporal/concerns/payloads.rb +51 -0
  34. data/lib/temporal/configuration.rb +31 -4
  35. data/lib/temporal/error_handler.rb +11 -0
  36. data/lib/temporal/errors.rb +24 -0
  37. data/lib/temporal/execution_options.rb +9 -1
  38. data/lib/temporal/json.rb +3 -1
  39. data/lib/temporal/logger.rb +17 -0
  40. data/lib/temporal/metadata.rb +11 -3
  41. data/lib/temporal/metadata/activity.rb +15 -2
  42. data/lib/temporal/metadata/workflow.rb +8 -0
  43. data/lib/temporal/metadata/workflow_task.rb +11 -0
  44. data/lib/temporal/retry_policy.rb +6 -9
  45. data/lib/temporal/saga/concern.rb +1 -1
  46. data/lib/temporal/testing.rb +1 -0
  47. data/lib/temporal/testing/future_registry.rb +1 -1
  48. data/lib/temporal/testing/local_activity_context.rb +1 -1
  49. data/lib/temporal/testing/local_workflow_context.rb +38 -14
  50. data/lib/temporal/testing/scheduled_workflows.rb +75 -0
  51. data/lib/temporal/testing/temporal_override.rb +35 -7
  52. data/lib/temporal/testing/workflow_override.rb +6 -1
  53. data/lib/temporal/version.rb +1 -1
  54. data/lib/temporal/worker.rb +28 -10
  55. data/lib/temporal/workflow.rb +8 -2
  56. data/lib/temporal/workflow/command.rb +3 -0
  57. data/lib/temporal/workflow/context.rb +40 -5
  58. data/lib/temporal/workflow/errors.rb +39 -0
  59. data/lib/temporal/workflow/executor.rb +1 -1
  60. data/lib/temporal/workflow/future.rb +18 -6
  61. data/lib/temporal/workflow/history/event.rb +1 -3
  62. data/lib/temporal/workflow/history/event_target.rb +4 -0
  63. data/lib/temporal/workflow/history/window.rb +1 -1
  64. data/lib/temporal/workflow/poller.rb +41 -13
  65. data/lib/temporal/workflow/replay_aware_logger.rb +4 -4
  66. data/lib/temporal/workflow/state_manager.rb +33 -52
  67. data/lib/temporal/workflow/task_processor.rb +41 -11
  68. metadata +21 -9
  69. data/lib/temporal/client/serializer/payload.rb +0 -25
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: temporal-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1.pre.pre1
4
+ version: 0.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Anthony Dmitriyev
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-11-14 00:00:00.000000000 Z
11
+ date: 2021-08-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: grpc
@@ -136,27 +136,37 @@ files:
136
136
  - lib/temporal/activity/task_processor.rb
137
137
  - lib/temporal/activity/workflow_convenience_methods.rb
138
138
  - lib/temporal/client.rb
139
+ - lib/temporal/client/converter/base.rb
140
+ - lib/temporal/client/converter/composite.rb
141
+ - lib/temporal/client/converter/payload/bytes.rb
142
+ - lib/temporal/client/converter/payload/json.rb
143
+ - lib/temporal/client/converter/payload/nil.rb
139
144
  - lib/temporal/client/errors.rb
140
145
  - lib/temporal/client/grpc_client.rb
146
+ - lib/temporal/client/retryer.rb
141
147
  - lib/temporal/client/serializer.rb
142
148
  - lib/temporal/client/serializer/base.rb
143
149
  - lib/temporal/client/serializer/cancel_timer.rb
144
150
  - lib/temporal/client/serializer/complete_workflow.rb
151
+ - lib/temporal/client/serializer/continue_as_new.rb
145
152
  - lib/temporal/client/serializer/fail_workflow.rb
146
153
  - lib/temporal/client/serializer/failure.rb
147
- - lib/temporal/client/serializer/payload.rb
148
154
  - lib/temporal/client/serializer/record_marker.rb
149
155
  - lib/temporal/client/serializer/request_activity_cancellation.rb
156
+ - lib/temporal/client/serializer/retry_policy.rb
150
157
  - lib/temporal/client/serializer/schedule_activity.rb
151
158
  - lib/temporal/client/serializer/start_child_workflow.rb
152
159
  - lib/temporal/client/serializer/start_timer.rb
153
160
  - lib/temporal/concerns/executable.rb
161
+ - lib/temporal/concerns/payloads.rb
154
162
  - lib/temporal/concerns/typed.rb
155
163
  - lib/temporal/configuration.rb
164
+ - lib/temporal/error_handler.rb
156
165
  - lib/temporal/errors.rb
157
166
  - lib/temporal/executable_lookup.rb
158
167
  - lib/temporal/execution_options.rb
159
168
  - lib/temporal/json.rb
169
+ - lib/temporal/logger.rb
160
170
  - lib/temporal/metadata.rb
161
171
  - lib/temporal/metadata/activity.rb
162
172
  - lib/temporal/metadata/base.rb
@@ -175,6 +185,7 @@ files:
175
185
  - lib/temporal/testing/future_registry.rb
176
186
  - lib/temporal/testing/local_activity_context.rb
177
187
  - lib/temporal/testing/local_workflow_context.rb
188
+ - lib/temporal/testing/scheduled_workflows.rb
178
189
  - lib/temporal/testing/temporal_override.rb
179
190
  - lib/temporal/testing/workflow_execution.rb
180
191
  - lib/temporal/testing/workflow_override.rb
@@ -190,6 +201,7 @@ files:
190
201
  - lib/temporal/workflow/context.rb
191
202
  - lib/temporal/workflow/convenience_methods.rb
192
203
  - lib/temporal/workflow/dispatcher.rb
204
+ - lib/temporal/workflow/errors.rb
193
205
  - lib/temporal/workflow/execution_info.rb
194
206
  - lib/temporal/workflow/executor.rb
195
207
  - lib/temporal/workflow/future.rb
@@ -207,7 +219,7 @@ homepage: https://github.com/coinbase/temporal-ruby
207
219
  licenses:
208
220
  - Apache-2.0
209
221
  metadata: {}
210
- post_install_message:
222
+ post_install_message:
211
223
  rdoc_options: []
212
224
  require_paths:
213
225
  - lib
@@ -218,12 +230,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
218
230
  version: '0'
219
231
  required_rubygems_version: !ruby/object:Gem::Requirement
220
232
  requirements:
221
- - - ">"
233
+ - - ">="
222
234
  - !ruby/object:Gem::Version
223
- version: 1.3.1
235
+ version: '0'
224
236
  requirements: []
225
- rubygems_version: 3.1.2
226
- signing_key:
237
+ rubygems_version: 3.2.15
238
+ signing_key:
227
239
  specification_version: 4
228
240
  summary: Temporal Ruby client
229
241
  test_files: []
@@ -1,25 +0,0 @@
1
- require 'temporal/client/serializer/base'
2
- require 'temporal/json'
3
-
4
- module Temporal
5
- module Client
6
- module Serializer
7
- class Payload < Base
8
- JSON_ENCODING = 'json/plain'.freeze
9
-
10
- def to_proto
11
- return if object.nil?
12
-
13
- Temporal::Api::Common::V1::Payloads.new(
14
- payloads: [
15
- Temporal::Api::Common::V1::Payload.new(
16
- metadata: { 'encoding' => JSON_ENCODING },
17
- data: JSON.serialize(object)
18
- )
19
- ]
20
- )
21
- end
22
- end
23
- end
24
- end
25
- end