workato-connector-sdk 1.2.0 → 1.3.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 (60) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +8 -0
  3. data/README.md +2 -6
  4. data/VERSION +1 -0
  5. data/lib/workato/cli/edit_command.rb +3 -1
  6. data/lib/workato/cli/exec_command.rb +76 -10
  7. data/lib/workato/cli/generate_command.rb +3 -2
  8. data/lib/workato/cli/main.rb +18 -10
  9. data/lib/workato/cli/oauth2_command.rb +4 -4
  10. data/lib/workato/cli/push_command.rb +23 -7
  11. data/lib/workato/cli/schema_command.rb +20 -6
  12. data/lib/workato/connector/sdk/account_properties.rb +3 -3
  13. data/lib/workato/connector/sdk/action.rb +20 -70
  14. data/lib/workato/connector/sdk/block_invocation_refinements.rb +4 -11
  15. data/lib/workato/connector/sdk/connection.rb +44 -21
  16. data/lib/workato/connector/sdk/connector.rb +73 -76
  17. data/lib/workato/connector/sdk/core.rb +62 -0
  18. data/lib/workato/connector/sdk/dsl/aws.rb +13 -3
  19. data/lib/workato/connector/sdk/dsl/call.rb +1 -1
  20. data/lib/workato/connector/sdk/dsl/csv_package.rb +133 -0
  21. data/lib/workato/connector/sdk/dsl/error.rb +2 -0
  22. data/lib/workato/connector/sdk/dsl/execution_context.rb +3 -0
  23. data/lib/workato/connector/sdk/dsl/http.rb +7 -2
  24. data/lib/workato/connector/sdk/dsl/reinvoke_after.rb +84 -0
  25. data/lib/workato/connector/sdk/dsl/stream_package.rb +59 -0
  26. data/lib/workato/connector/sdk/dsl/time.rb +0 -14
  27. data/lib/workato/connector/sdk/dsl/workato_package.rb +152 -0
  28. data/lib/workato/connector/sdk/dsl.rb +65 -10
  29. data/lib/workato/connector/sdk/errors.rb +28 -11
  30. data/lib/workato/connector/sdk/object_definitions.rb +59 -18
  31. data/lib/workato/connector/sdk/operation.rb +10 -3
  32. data/lib/workato/connector/sdk/request.rb +67 -26
  33. data/lib/workato/connector/sdk/schema/field/convertors.rb +2 -2
  34. data/lib/workato/connector/sdk/schema.rb +10 -7
  35. data/lib/workato/connector/sdk/settings.rb +13 -2
  36. data/lib/workato/connector/sdk/stream.rb +262 -0
  37. data/lib/workato/connector/sdk/streams.rb +72 -0
  38. data/lib/workato/connector/sdk/summarize.rb +4 -2
  39. data/lib/workato/connector/sdk/trigger.rb +14 -7
  40. data/lib/workato/connector/sdk/version.rb +1 -1
  41. data/lib/workato/connector/sdk.rb +20 -46
  42. data/lib/workato/extension/array.rb +2 -0
  43. data/lib/workato/extension/case_sensitive_headers.rb +0 -1
  44. data/lib/workato/extension/content_encoding_decoder.rb +2 -0
  45. data/lib/workato/extension/currency/countries.rb +79 -0
  46. data/lib/workato/extension/currency/countries.yml +18433 -0
  47. data/lib/workato/extension/currency/currencies.rb +55 -0
  48. data/lib/workato/extension/currency/currencies.yml +479 -0
  49. data/lib/workato/extension/currency.rb +73 -5
  50. data/lib/workato/extension/enumerable.rb +2 -2
  51. data/lib/workato/extension/metadata_fix_wrap_kw_args.rb +11 -0
  52. data/lib/workato/extension/string.rb +23 -111
  53. data/lib/workato/testing/vcr_encrypted_cassette_serializer.rb +2 -0
  54. data/lib/workato/testing/vcr_multipart_body_matcher.rb +1 -0
  55. data/lib/workato/types/binary.rb +99 -0
  56. data/lib/workato/types/unicode_string.rb +62 -0
  57. metadata +34 -62
  58. data/lib/workato/connector/sdk/dsl/csv.rb +0 -125
  59. data/lib/workato/connector/sdk/dsl/workato_code_lib.rb +0 -167
  60. data/lib/workato/connector/sdk/schema/type/unicode_string.rb +0 -23
@@ -15,9 +15,15 @@ module Workato
15
15
  r[k] = v
16
16
  end
17
17
  end
18
- TO_COUNTRY_METHODS = %w[alpha2 alpha3 name number].freeze
19
- TO_CURRENCY_METHODS = %w[code name symbol].freeze
20
- TO_STATE_METHODS = %w[code name].freeze
18
+
19
+ def binary?
20
+ warn <<~WARNING
21
+ WARNING: Ambiguous use of `String#binary?' method.
22
+ For correct behavior of `binary?` method use explicit Workato::Types::UnicodeString for input strings and Workato::Types::Binary for input binaries
23
+ See: https://www.rubydoc.info/gems/workato-connector-sdk/Workato/Types
24
+ WARNING
25
+ encoding == Encoding::ASCII_8BIT
26
+ end
21
27
 
22
28
  def is_int? # rubocop:disable Naming/PredicateName
23
29
  present? && (self !~ /\D/)
@@ -92,6 +98,10 @@ module Workato
92
98
  end.join(' ')
93
99
  end
94
100
 
101
+ def +(other)
102
+ super(other&.to_s)
103
+ end
104
+
95
105
  def to_hex
96
106
  unpack('H*')[0]
97
107
  end
@@ -103,7 +113,7 @@ module Workato
103
113
  alias encode_hex to_hex
104
114
 
105
115
  def decode_hex
106
- Extension::Binary.new([self].pack('H*'))
116
+ Types::Binary.new([self].pack('H*'))
107
117
  end
108
118
 
109
119
  def encode_base64
@@ -111,7 +121,7 @@ module Workato
111
121
  end
112
122
 
113
123
  def decode_base64
114
- Extension::Binary.new(Base64.decode64(self))
124
+ Types::Binary.new(Base64.decode64(self))
115
125
  end
116
126
 
117
127
  def encode_urlsafe_base64
@@ -127,27 +137,27 @@ module Workato
127
137
  end
128
138
 
129
139
  def decode_urlsafe_base64
130
- Extension::Binary.new(Base64.urlsafe_decode64(self))
140
+ Types::Binary.new(Base64.urlsafe_decode64(self))
131
141
  end
132
142
 
133
143
  def encode_sha256
134
- Extension::Binary.new(::Digest::SHA256.digest(self))
144
+ Types::Binary.new(::Digest::SHA256.digest(self))
135
145
  end
136
146
 
137
147
  def hmac_sha256(key)
138
148
  digest = ::OpenSSL::Digest.new('sha256')
139
- Extension::Binary.new(::OpenSSL::HMAC.digest(digest, key, self))
149
+ Types::Binary.new(::OpenSSL::HMAC.digest(digest, key, self))
140
150
  end
141
151
 
142
152
  def hmac_sha512(key)
143
153
  digest = ::OpenSSL::Digest.new('sha512')
144
- Extension::Binary.new(::OpenSSL::HMAC.digest(digest, key, self))
154
+ Types::Binary.new(::OpenSSL::HMAC.digest(digest, key, self))
145
155
  end
146
156
 
147
157
  def rsa_sha256(key)
148
158
  digest = ::OpenSSL::Digest.new('sha256')
149
159
  private_key = ::OpenSSL::PKey::RSA.new(key)
150
- Workato::Extension::Binary.new(private_key.sign(digest, self))
160
+ Types::Binary.new(private_key.sign(digest, self))
151
161
  end
152
162
 
153
163
  def md5_hexdigest
@@ -155,120 +165,22 @@ module Workato
155
165
  end
156
166
 
157
167
  def sha1
158
- Extension::Binary.new(::Digest::SHA1.digest(self))
168
+ Types::Binary.new(::Digest::SHA1.digest(self))
159
169
  end
160
170
 
161
171
  def hmac_sha1(key)
162
172
  digest = ::OpenSSL::Digest.new('sha1')
163
- Extension::Binary.new(::OpenSSL::HMAC.digest(digest, key, self))
173
+ Types::Binary.new(::OpenSSL::HMAC.digest(digest, key, self))
164
174
  end
165
175
 
166
176
  def hmac_md5(key)
167
177
  digest = ::OpenSSL::Digest.new('md5')
168
- Extension::Binary.new(::OpenSSL::HMAC.digest(digest, key, self))
178
+ Types::Binary.new(::OpenSSL::HMAC.digest(digest, key, self))
169
179
  end
170
180
 
171
181
  def from_xml
172
182
  Workato::Utilities::Xml.parse_xml_to_hash(self)
173
183
  end
174
-
175
- TO_COUNTRY_METHODS.each do |suffix|
176
- define_method("to_country_#{suffix}") do
177
- to_country.try(suffix)
178
- end
179
- end
180
-
181
- TO_CURRENCY_METHODS.each do |suffix|
182
- define_method("to_currency_#{suffix}") do
183
- to_currency_obj.try(suffix)
184
- end
185
- end
186
-
187
- TO_STATE_METHODS.each do |suffix|
188
- define_method("to_state_#{suffix}") do |country_name = 'US'|
189
- to_state(country_name).try(:[], suffix)
190
- end
191
- end
192
-
193
- protected
194
-
195
- def to_country
196
- TO_COUNTRY_METHODS.transform_find do |attr|
197
- ISO3166::Country.send("find_country_by_#{attr}", self)
198
- end
199
- end
200
-
201
- def to_currency_obj
202
- ISO4217::Currency.from_code(self) || to_country.try(:currency)
203
- end
204
-
205
- def to_state(country_name = 'US')
206
- country_name = country_name.presence || 'US'
207
- country = country_name.to_country
208
- return nil if country.blank?
209
-
210
- state = upcase
211
- country.states.transform_find do |code, data|
212
- name = data['name'].upcase
213
- other_names = Array(data['names']).map(&:upcase)
214
- if code == state || name == state || other_names.include?(state)
215
- {
216
- code: code,
217
- name: name
218
- }.with_indifferent_access
219
- end
220
- end
221
- end
222
- end
223
-
224
- class Binary < ::String
225
- TITLE_LENGTH = 16
226
- SUMMARY_LENGTH = 128
227
-
228
- def initialize(str)
229
- super(str)
230
- force_encoding(Encoding::ASCII_8BIT)
231
- end
232
-
233
- def to_s
234
- self
235
- end
236
-
237
- def to_json(_options = nil)
238
- summary
239
- end
240
-
241
- def binary?
242
- true
243
- end
244
-
245
- def base64
246
- Base64.strict_encode64(self)
247
- end
248
-
249
- def as_string(encoding)
250
- ::String.new(self, encoding: encoding).encode(encoding, invalid: :replace, undef: :replace)
251
- end
252
-
253
- def as_utf8
254
- as_string('utf-8')
255
- end
256
-
257
- def sha1
258
- Binary.new(::Digest::SHA1.digest(self))
259
- end
260
-
261
- private
262
-
263
- def summary
264
- if length.positive?
265
- left = "0x#{byteslice(0, SUMMARY_LENGTH).unpack1('H*')}"
266
- right = bytesize > SUMMARY_LENGTH ? "…(#{bytesize - SUMMARY_LENGTH} bytes more)" : ''
267
- "#{left}#{right}"
268
- else
269
- ''
270
- end
271
- end
272
184
  end
273
185
  end
274
186
  end
@@ -1,6 +1,8 @@
1
1
  # typed: true
2
2
  # frozen_string_literal: true
3
3
 
4
+ require_relative '../extension/metadata_fix_wrap_kw_args'
5
+
4
6
  module Workato
5
7
  module Testing
6
8
  class VCREncryptedCassetteSerializer < ActiveSupport::EncryptedFile
@@ -5,6 +5,7 @@ module Workato
5
5
  module Testing
6
6
  class VCRMultipartBodyMatcher
7
7
  MULTIPART_HEADER_MATCHER = %r{^multipart/form-data; boundary=(.+)$}.freeze
8
+ private_constant :MULTIPART_HEADER_MATCHER
8
9
 
9
10
  class << self
10
11
  def call(request1, request2)
@@ -0,0 +1,99 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Workato
4
+ module Types
5
+ # Explicit wrapper for binary data
6
+ #
7
+ # Workato runtime always converts a String to {Workato::Types::UnicodeString} and
8
+ # binary data to {Workato::Types::Binary} before execute an action.
9
+ #
10
+ # == Call action or trigger by name
11
+ #
12
+ # SDK emulator applies trigger's or action's input/output schema and normalize string when invoke them by name.
13
+ # If you call an operation like this, then emulator passes input with
14
+ # {Workato::Types::UnicodeString} or {Workato::Types::Binary} to the operation
15
+ #
16
+ # CLI
17
+ # workato exec 'actions.test_action'
18
+ # workato exec 'triggers.test_poll_trigger'
19
+ #
20
+ # RSpec
21
+ # connector.actions.test_action.invoke(input)
22
+ # connector.triggers.test_poll_trigger.invoke(input)
23
+ #
24
+ # == Direct call to execute or poll block
25
+ #
26
+ # Schema is not applied when call an action's execute block directly. For example
27
+ #
28
+ # CLI
29
+ # workato exec 'actions.test_action.execute'
30
+ #
31
+ # RSpec
32
+ # connector.actions.test_action.execute(settings, input, input_schema, output_schema)
33
+ #
34
+ # In that case if action's code relies on methods of {Workato::Types::UnicodeString} or {Workato::Types::Binary}
35
+ # then this explicit wrapper should be used for correct behavior.
36
+ #
37
+ # @example
38
+ # input = {
39
+ # file_content: Workato::Types::Binary.new(File.read('/path/to/file.bin', 'wb')),
40
+ # file_name: Workato::Types::UnicodeString.new("Hello World!")
41
+ # }
42
+ #
43
+ # connector.actions.upload(settings, input)
44
+ #
45
+ # @see Workato::Types::UnicodeString
46
+ class Binary < ::String
47
+ TITLE_LENGTH = 16
48
+ SUMMARY_LENGTH = 128
49
+
50
+ def initialize(str)
51
+ super(str)
52
+ force_encoding(Encoding::ASCII_8BIT)
53
+ end
54
+
55
+ def to_s
56
+ self
57
+ end
58
+
59
+ def to_json(_options = nil)
60
+ summary
61
+ end
62
+
63
+ # Returns true for binary data
64
+ #
65
+ # @return [Boolean]
66
+ def binary?
67
+ true
68
+ end
69
+
70
+ def base64
71
+ Base64.strict_encode64(self)
72
+ end
73
+
74
+ def as_string(encoding)
75
+ ::String.new(self, encoding: encoding).encode(encoding, invalid: :replace, undef: :replace)
76
+ end
77
+
78
+ def as_utf8
79
+ as_string('utf-8')
80
+ end
81
+
82
+ def sha1
83
+ Binary.new(::Digest::SHA1.digest(self))
84
+ end
85
+
86
+ private
87
+
88
+ def summary
89
+ if length.positive?
90
+ left = "0x#{byteslice(0, SUMMARY_LENGTH).unpack1('H*')}"
91
+ right = bytesize > SUMMARY_LENGTH ? "…(#{bytesize - SUMMARY_LENGTH} bytes more)" : ''
92
+ "#{left}#{right}"
93
+ else
94
+ ''
95
+ end
96
+ end
97
+ end
98
+ end
99
+ end
@@ -0,0 +1,62 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ module Workato
5
+ module Types
6
+ # Explicit wrapper for unicode strings.
7
+ #
8
+ # Workato runtime always converts a String to {Workato::Types::UnicodeString} and
9
+ # binary data to {Workato::Types::Binary} before execute an action.
10
+ #
11
+ # == Call action or trigger by name
12
+ #
13
+ # SDK emulator applies trigger's or action's input/output schema and normalize string when invoke them by name.
14
+ # If you call an operation like this, then emulator passes input with
15
+ # {Workato::Types::UnicodeString} or {Workato::Types::Binary} to the operation
16
+ #
17
+ # CLI
18
+ # workato exec 'actions.test_action'
19
+ # workato exec 'triggers.test_poll_trigger'
20
+ #
21
+ # RSpec
22
+ # connector.actions.test_action.invoke(input)
23
+ # connector.triggers.test_poll_trigger.invoke(input)
24
+ #
25
+ # == Direct call to execute or poll block
26
+ #
27
+ # Schema is not applied when call an action's execute block directly. For example
28
+ #
29
+ # CLI
30
+ # workato exec 'actions.test_action.execute'
31
+ #
32
+ # RSpec
33
+ # connector.actions.test_action.execute(settings, input, input_schema, output_schema)
34
+ #
35
+ # In that case if action's code relies on methods of {Workato::Types::UnicodeString} or {Workato::Types::Binary}
36
+ # then this explicit wrapper should be used for correct behavior.
37
+ #
38
+ # @example
39
+ # input = {
40
+ # file_content: Workato::Types::Binary.new(File.read('/path/to/file.bin', 'wb')),
41
+ # file_name: Workato::Types::UnicodeString.new("Hello World!")
42
+ # }
43
+ #
44
+ # connector.actions.upload(settings, input)
45
+ #
46
+ # @see Workato::Types::Binary
47
+ class UnicodeString < ::String
48
+ # @param str Ruby string
49
+ def initialize(str)
50
+ super(str, **{})
51
+ encode!('UTF-8')
52
+ end
53
+
54
+ # Returns false for unicode strings
55
+ #
56
+ # @return [Boolean]
57
+ def binary?
58
+ false
59
+ end
60
+ end
61
+ end
62
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: workato-connector-sdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pavel Abolmasov
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-11-07 00:00:00.000000000 Z
11
+ date: 2023-02-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -39,47 +39,33 @@ dependencies:
39
39
  - !ruby/object:Gem::Version
40
40
  version: 1.2.4
41
41
  - !ruby/object:Gem::Dependency
42
- name: charlock_holmes
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - '='
46
- - !ruby/object:Gem::Version
47
- version: 0.7.7
48
- type: :runtime
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - '='
53
- - !ruby/object:Gem::Version
54
- version: 0.7.7
55
- - !ruby/object:Gem::Dependency
56
- name: countries
42
+ name: bundler
57
43
  requirement: !ruby/object:Gem::Requirement
58
44
  requirements:
59
- - - '='
45
+ - - "~>"
60
46
  - !ruby/object:Gem::Version
61
- version: 1.2.2
47
+ version: '2.0'
62
48
  type: :runtime
63
49
  prerelease: false
64
50
  version_requirements: !ruby/object:Gem::Requirement
65
51
  requirements:
66
- - - '='
52
+ - - "~>"
67
53
  - !ruby/object:Gem::Version
68
- version: 1.2.2
54
+ version: '2.0'
69
55
  - !ruby/object:Gem::Dependency
70
- name: currencies
56
+ name: charlock_holmes
71
57
  requirement: !ruby/object:Gem::Requirement
72
58
  requirements:
73
59
  - - '='
74
60
  - !ruby/object:Gem::Version
75
- version: 0.4.2
61
+ version: 0.7.7
76
62
  type: :runtime
77
63
  prerelease: false
78
64
  version_requirements: !ruby/object:Gem::Requirement
79
65
  requirements:
80
66
  - - '='
81
67
  - !ruby/object:Gem::Version
82
- version: 0.4.2
68
+ version: 0.7.7
83
69
  - !ruby/object:Gem::Dependency
84
70
  name: em-http-request
85
71
  requirement: !ruby/object:Gem::Requirement
@@ -170,14 +156,14 @@ dependencies:
170
156
  requirements:
171
157
  - - '='
172
158
  - !ruby/object:Gem::Version
173
- version: 1.10.10
159
+ version: 1.13.10
174
160
  type: :runtime
175
161
  prerelease: false
176
162
  version_requirements: !ruby/object:Gem::Requirement
177
163
  requirements:
178
164
  - - '='
179
165
  - !ruby/object:Gem::Version
180
- version: 1.10.10
166
+ version: 1.13.10
181
167
  - !ruby/object:Gem::Dependency
182
168
  name: oauth2
183
169
  requirement: !ruby/object:Gem::Requirement
@@ -318,34 +304,6 @@ dependencies:
318
304
  - - "~>"
319
305
  - !ruby/object:Gem::Version
320
306
  version: '1.0'
321
- - !ruby/object:Gem::Dependency
322
- name: bundler
323
- requirement: !ruby/object:Gem::Requirement
324
- requirements:
325
- - - "~>"
326
- - !ruby/object:Gem::Version
327
- version: '1.17'
328
- type: :development
329
- prerelease: false
330
- version_requirements: !ruby/object:Gem::Requirement
331
- requirements:
332
- - - "~>"
333
- - !ruby/object:Gem::Version
334
- version: '1.17'
335
- - !ruby/object:Gem::Dependency
336
- name: rake
337
- requirement: !ruby/object:Gem::Requirement
338
- requirements:
339
- - - "~>"
340
- - !ruby/object:Gem::Version
341
- version: '13.0'
342
- type: :development
343
- prerelease: false
344
- version_requirements: !ruby/object:Gem::Requirement
345
- requirements:
346
- - - "~>"
347
- - !ruby/object:Gem::Version
348
- version: '13.0'
349
307
  - !ruby/object:Gem::Dependency
350
308
  name: rspec
351
309
  requirement: !ruby/object:Gem::Requirement
@@ -380,14 +338,14 @@ dependencies:
380
338
  requirements:
381
339
  - - "~>"
382
340
  - !ruby/object:Gem::Version
383
- version: '0.4'
341
+ version: '0.6'
384
342
  type: :development
385
343
  prerelease: false
386
344
  version_requirements: !ruby/object:Gem::Requirement
387
345
  requirements:
388
346
  - - "~>"
389
347
  - !ruby/object:Gem::Version
390
- version: '0.4'
348
+ version: '0.6'
391
349
  - !ruby/object:Gem::Dependency
392
350
  name: timecop
393
351
  requirement: !ruby/object:Gem::Requirement
@@ -408,14 +366,14 @@ dependencies:
408
366
  requirements:
409
367
  - - "~>"
410
368
  - !ruby/object:Gem::Version
411
- version: '3.0'
369
+ version: '6.0'
412
370
  type: :development
413
371
  prerelease: false
414
372
  version_requirements: !ruby/object:Gem::Requirement
415
373
  requirements:
416
374
  - - "~>"
417
375
  - !ruby/object:Gem::Version
418
- version: '3.0'
376
+ version: '6.0'
419
377
  - !ruby/object:Gem::Dependency
420
378
  name: webmock
421
379
  requirement: !ruby/object:Gem::Requirement
@@ -438,8 +396,10 @@ executables:
438
396
  extensions: []
439
397
  extra_rdoc_files: []
440
398
  files:
399
+ - ".yardopts"
441
400
  - LICENSE.md
442
401
  - README.md
402
+ - VERSION
443
403
  - exe/workato
444
404
  - lib/workato-connector-sdk.rb
445
405
  - lib/workato/cli/edit_command.rb
@@ -458,17 +418,20 @@ files:
458
418
  - lib/workato/connector/sdk/block_invocation_refinements.rb
459
419
  - lib/workato/connector/sdk/connection.rb
460
420
  - lib/workato/connector/sdk/connector.rb
421
+ - lib/workato/connector/sdk/core.rb
461
422
  - lib/workato/connector/sdk/dsl.rb
462
423
  - lib/workato/connector/sdk/dsl/account_property.rb
463
424
  - lib/workato/connector/sdk/dsl/aws.rb
464
425
  - lib/workato/connector/sdk/dsl/call.rb
465
- - lib/workato/connector/sdk/dsl/csv.rb
426
+ - lib/workato/connector/sdk/dsl/csv_package.rb
466
427
  - lib/workato/connector/sdk/dsl/error.rb
467
428
  - lib/workato/connector/sdk/dsl/execution_context.rb
468
429
  - lib/workato/connector/sdk/dsl/http.rb
469
430
  - lib/workato/connector/sdk/dsl/lookup_table.rb
431
+ - lib/workato/connector/sdk/dsl/reinvoke_after.rb
432
+ - lib/workato/connector/sdk/dsl/stream_package.rb
470
433
  - lib/workato/connector/sdk/dsl/time.rb
471
- - lib/workato/connector/sdk/dsl/workato_code_lib.rb
434
+ - lib/workato/connector/sdk/dsl/workato_package.rb
472
435
  - lib/workato/connector/sdk/dsl/workato_schema.rb
473
436
  - lib/workato/connector/sdk/errors.rb
474
437
  - lib/workato/connector/sdk/lookup_tables.rb
@@ -485,8 +448,9 @@ files:
485
448
  - lib/workato/connector/sdk/schema/field/object.rb
486
449
  - lib/workato/connector/sdk/schema/field/string.rb
487
450
  - lib/workato/connector/sdk/schema/type/time.rb
488
- - lib/workato/connector/sdk/schema/type/unicode_string.rb
489
451
  - lib/workato/connector/sdk/settings.rb
452
+ - lib/workato/connector/sdk/stream.rb
453
+ - lib/workato/connector/sdk/streams.rb
490
454
  - lib/workato/connector/sdk/summarize.rb
491
455
  - lib/workato/connector/sdk/trigger.rb
492
456
  - lib/workato/connector/sdk/version.rb
@@ -495,12 +459,17 @@ files:
495
459
  - lib/workato/extension/case_sensitive_headers.rb
496
460
  - lib/workato/extension/content_encoding_decoder.rb
497
461
  - lib/workato/extension/currency.rb
462
+ - lib/workato/extension/currency/countries.rb
463
+ - lib/workato/extension/currency/countries.yml
464
+ - lib/workato/extension/currency/currencies.rb
465
+ - lib/workato/extension/currency/currencies.yml
498
466
  - lib/workato/extension/date.rb
499
467
  - lib/workato/extension/enumerable.rb
500
468
  - lib/workato/extension/extra_chain_cert.rb
501
469
  - lib/workato/extension/hash.rb
502
470
  - lib/workato/extension/hash_with_indifferent_access.rb
503
471
  - lib/workato/extension/integer.rb
472
+ - lib/workato/extension/metadata_fix_wrap_kw_args.rb
504
473
  - lib/workato/extension/nil_class.rb
505
474
  - lib/workato/extension/object.rb
506
475
  - lib/workato/extension/phone.rb
@@ -509,6 +478,8 @@ files:
509
478
  - lib/workato/extension/time.rb
510
479
  - lib/workato/testing/vcr_encrypted_cassette_serializer.rb
511
480
  - lib/workato/testing/vcr_multipart_body_matcher.rb
481
+ - lib/workato/types/binary.rb
482
+ - lib/workato/types/unicode_string.rb
512
483
  - lib/workato/utilities/encoding.rb
513
484
  - lib/workato/utilities/xml.rb
514
485
  - lib/workato/web/app.rb
@@ -530,6 +501,7 @@ metadata:
530
501
  documentation_uri: https://docs.workato.com/developing-connectors/sdk/cli.html
531
502
  homepage_uri: https://www.workato.com/
532
503
  source_code_uri: https://github.com/workato/workato-connector-sdk
504
+ rubygems_mfa_required: 'true'
533
505
  post_install_message: |2+
534
506
 
535
507
  If you updated from workato-connector-sdk prior 1.2.0 your tests could be broken.
@@ -544,7 +516,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
544
516
  requirements:
545
517
  - - ">="
546
518
  - !ruby/object:Gem::Version
547
- version: '2.4'
519
+ version: 2.7.6
548
520
  required_rubygems_version: !ruby/object:Gem::Requirement
549
521
  requirements:
550
522
  - - ">="