workato-connector-sdk 1.2.0 → 1.3.1

Sign up to get free protection for your applications and to get access to all the features.
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
  - - ">="