temporal-ruby 0.0.1.pre.pre1 → 0.0.1

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.
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