workato-connector-sdk 1.3.4 → 1.3.6
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/VERSION +1 -1
- data/lib/workato/cli/exec_command.rb +1 -1
- data/lib/workato/cli/main.rb +8 -8
- data/lib/workato/cli/oauth2_command.rb +1 -1
- data/lib/workato/connector/sdk/action.rb +2 -2
- data/lib/workato/connector/sdk/connection.rb +72 -37
- data/lib/workato/connector/sdk/connector.rb +92 -66
- data/lib/workato/connector/sdk/core.rb +18 -18
- data/lib/workato/connector/sdk/dsl/aws.rb +1 -3
- data/lib/workato/connector/sdk/dsl/reinvoke_after.rb +1 -2
- data/lib/workato/connector/sdk/dsl/workato_package.rb +6 -8
- data/lib/workato/connector/sdk/dsl.rb +13 -13
- data/lib/workato/connector/sdk/lookup_tables.rb +1 -3
- data/lib/workato/connector/sdk/object_definitions.rb +4 -4
- data/lib/workato/connector/sdk/operation.rb +27 -23
- data/lib/workato/connector/sdk/request.rb +18 -23
- data/lib/workato/connector/sdk/schema/field/array.rb +1 -1
- data/lib/workato/connector/sdk/schema/field/date.rb +1 -1
- data/lib/workato/connector/sdk/schema/field/date_time.rb +1 -1
- data/lib/workato/connector/sdk/schema/field/integer.rb +1 -1
- data/lib/workato/connector/sdk/schema/field/number.rb +1 -1
- data/lib/workato/connector/sdk/schema/field/object.rb +1 -1
- data/lib/workato/connector/sdk/schema/field/string.rb +1 -1
- data/lib/workato/connector/sdk/schema.rb +11 -13
- data/lib/workato/connector/sdk/settings.rb +5 -5
- data/lib/workato/connector/sdk/stream.rb +1 -3
- data/lib/workato/connector/sdk/streams.rb +0 -2
- data/lib/workato/connector/sdk/trigger.rb +6 -8
- data/lib/workato/connector/sdk.rb +1 -2
- data/lib/workato/extension/currency.rb +2 -2
- data/lib/workato/extension/enumerable.rb +1 -1
- data/lib/workato/{extension → utilities}/hash_with_indifferent_access.rb +7 -4
- data/lib/workato/utilities/xml.rb +1 -1
- metadata +3 -3
@@ -4,8 +4,6 @@
|
|
4
4
|
require 'aws-sigv4'
|
5
5
|
require 'workato/utilities/xml'
|
6
6
|
|
7
|
-
using Workato::Extension::HashWithIndifferentAccess
|
8
|
-
|
9
7
|
module Workato
|
10
8
|
module Connector
|
11
9
|
module Sdk
|
@@ -68,7 +66,7 @@ module Workato
|
|
68
66
|
method: method,
|
69
67
|
path: path,
|
70
68
|
params: params,
|
71
|
-
headers: HashWithIndifferentAccess.wrap(headers),
|
69
|
+
headers: Utilities::HashWithIndifferentAccess.wrap(headers),
|
72
70
|
payload: payload
|
73
71
|
)
|
74
72
|
|
@@ -74,8 +74,7 @@ module Workato
|
|
74
74
|
|
75
75
|
sig { returns(Integer) }
|
76
76
|
def reinvoke_limit
|
77
|
-
@reinvoke_limit
|
78
|
-
@reinvoke_limit ||= (ENV['MAX_REINVOKES'].presence || MAX_REINVOKES).to_i
|
77
|
+
@reinvoke_limit ||= T.let((ENV['MAX_REINVOKES'].presence || MAX_REINVOKES).to_i, T.nilable(Integer))
|
79
78
|
end
|
80
79
|
end
|
81
80
|
end
|
@@ -2,11 +2,9 @@
|
|
2
2
|
# frozen_string_literal: true
|
3
3
|
|
4
4
|
require 'jwt'
|
5
|
-
require_relative '
|
6
|
-
require_relative '
|
7
|
-
require_relative '
|
8
|
-
|
9
|
-
using Workato::Extension::HashWithIndifferentAccess
|
5
|
+
require_relative 'csv_package'
|
6
|
+
require_relative 'net_package'
|
7
|
+
require_relative 'stream_package'
|
10
8
|
|
11
9
|
module Workato
|
12
10
|
module Connector
|
@@ -72,9 +70,9 @@ module Workato
|
|
72
70
|
end
|
73
71
|
end
|
74
72
|
|
75
|
-
header_fields = HashWithIndifferentAccess.wrap(header_fields)
|
76
|
-
|
77
|
-
|
73
|
+
header_fields = Utilities::HashWithIndifferentAccess.wrap(header_fields)
|
74
|
+
.except(:typ, :alg)
|
75
|
+
.reverse_merge(typ: 'JWT', alg: algorithm)
|
78
76
|
|
79
77
|
::JWT.encode(payload, key, algorithm, header_fields)
|
80
78
|
rescue JWT::IncorrectAlgorithm
|
@@ -1,19 +1,19 @@
|
|
1
1
|
# typed: true
|
2
2
|
# frozen_string_literal: true
|
3
3
|
|
4
|
-
require_relative '
|
5
|
-
|
6
|
-
require_relative '
|
7
|
-
require_relative '
|
8
|
-
require_relative '
|
9
|
-
require_relative '
|
10
|
-
require_relative '
|
11
|
-
require_relative '
|
12
|
-
require_relative '
|
13
|
-
require_relative '
|
14
|
-
require_relative '
|
15
|
-
require_relative '
|
16
|
-
require_relative '
|
4
|
+
require_relative 'block_invocation_refinements'
|
5
|
+
|
6
|
+
require_relative 'dsl/http'
|
7
|
+
require_relative 'dsl/call'
|
8
|
+
require_relative 'dsl/reinvoke_after'
|
9
|
+
require_relative 'dsl/error'
|
10
|
+
require_relative 'dsl/account_property'
|
11
|
+
require_relative 'dsl/lookup_table'
|
12
|
+
require_relative 'dsl/workato_package'
|
13
|
+
require_relative 'dsl/workato_schema'
|
14
|
+
require_relative 'dsl/time'
|
15
|
+
require_relative 'dsl/aws'
|
16
|
+
require_relative 'dsl/execution_context'
|
17
17
|
|
18
18
|
module Workato
|
19
19
|
module Connector
|
@@ -4,8 +4,6 @@
|
|
4
4
|
require 'csv'
|
5
5
|
require 'singleton'
|
6
6
|
|
7
|
-
using Workato::Extension::HashWithIndifferentAccess
|
8
|
-
|
9
7
|
module Workato
|
10
8
|
module Connector
|
11
9
|
module Sdk
|
@@ -42,7 +40,7 @@ module Workato
|
|
42
40
|
@table_by_id ||= {}
|
43
41
|
@table_by_name ||= {}
|
44
42
|
data.each do |name, table|
|
45
|
-
table = HashWithIndifferentAccess.wrap(table)
|
43
|
+
table = Utilities::HashWithIndifferentAccess.wrap(table)
|
46
44
|
rows = table['rows'].freeze
|
47
45
|
@table_by_id[table['id'].to_i] = rows
|
48
46
|
@table_by_name[name] = rows
|
@@ -1,13 +1,13 @@
|
|
1
1
|
# typed: strict
|
2
2
|
# frozen_string_literal: true
|
3
3
|
|
4
|
-
require_relative '
|
4
|
+
require_relative 'block_invocation_refinements'
|
5
5
|
|
6
6
|
module Workato
|
7
7
|
module Connector
|
8
8
|
module Sdk
|
9
9
|
module SorbetTypes
|
10
|
-
ObjectDefinitionOutput = T.type_alias { T::Array[HashWithIndifferentAccess] }
|
10
|
+
ObjectDefinitionOutput = T.type_alias { T::Array[ActiveSupport::HashWithIndifferentAccess] }
|
11
11
|
end
|
12
12
|
|
13
13
|
class ObjectDefinitions
|
@@ -34,7 +34,7 @@ module Workato
|
|
34
34
|
params(
|
35
35
|
settings: T.nilable(SorbetTypes::SettingsHash),
|
36
36
|
config_fields: SorbetTypes::OperationInputHash
|
37
|
-
).returns(HashWithIndifferentAccess)
|
37
|
+
).returns(ActiveSupport::HashWithIndifferentAccess)
|
38
38
|
end
|
39
39
|
def lazy(settings = nil, config_fields = {})
|
40
40
|
DupHashWithIndifferentAccess.new do |object_definitions, name|
|
@@ -99,7 +99,7 @@ module Workato
|
|
99
99
|
|
100
100
|
private_constant :ObjectDefinition
|
101
101
|
|
102
|
-
class DupHashWithIndifferentAccess < HashWithIndifferentAccess
|
102
|
+
class DupHashWithIndifferentAccess < ActiveSupport::HashWithIndifferentAccess
|
103
103
|
extend T::Sig
|
104
104
|
extend T::Generic
|
105
105
|
|
@@ -1,11 +1,9 @@
|
|
1
1
|
# typed: strict
|
2
2
|
# frozen_string_literal: true
|
3
3
|
|
4
|
-
require_relative '
|
5
|
-
require_relative '
|
6
|
-
require_relative '
|
7
|
-
|
8
|
-
using Workato::Extension::HashWithIndifferentAccess
|
4
|
+
require_relative 'dsl'
|
5
|
+
require_relative 'block_invocation_refinements'
|
6
|
+
require_relative 'schema'
|
9
7
|
|
10
8
|
module Workato
|
11
9
|
module Connector
|
@@ -15,11 +13,11 @@ module Workato
|
|
15
13
|
|
16
14
|
OperationExecuteProc = T.type_alias do
|
17
15
|
T.proc.params(
|
18
|
-
arg0: HashWithIndifferentAccess,
|
19
|
-
arg1: HashWithIndifferentAccess,
|
20
|
-
arg2: T.any(Schema, T::Array[HashWithIndifferentAccess]),
|
21
|
-
arg3: T.any(Schema, T::Array[HashWithIndifferentAccess]),
|
22
|
-
arg4: HashWithIndifferentAccess
|
16
|
+
arg0: ActiveSupport::HashWithIndifferentAccess,
|
17
|
+
arg1: ActiveSupport::HashWithIndifferentAccess,
|
18
|
+
arg2: T.any(Schema, T::Array[ActiveSupport::HashWithIndifferentAccess]),
|
19
|
+
arg3: T.any(Schema, T::Array[ActiveSupport::HashWithIndifferentAccess]),
|
20
|
+
arg4: ActiveSupport::HashWithIndifferentAccess
|
23
21
|
).returns(
|
24
22
|
T.untyped
|
25
23
|
)
|
@@ -31,9 +29,9 @@ module Workato
|
|
31
29
|
|
32
30
|
OperationSchemaProc = T.type_alias do
|
33
31
|
T.proc.params(
|
34
|
-
arg0: HashWithIndifferentAccess,
|
35
|
-
arg1: HashWithIndifferentAccess,
|
36
|
-
arg2: HashWithIndifferentAccess
|
32
|
+
arg0: ActiveSupport::HashWithIndifferentAccess,
|
33
|
+
arg1: ActiveSupport::HashWithIndifferentAccess,
|
34
|
+
arg2: ActiveSupport::HashWithIndifferentAccess
|
37
35
|
).returns(
|
38
36
|
T.nilable(T.any(SorbetTypes::OperationSchema, T::Hash[T.any(Symbol, String), T.untyped]))
|
39
37
|
)
|
@@ -66,8 +64,14 @@ module Workato
|
|
66
64
|
end
|
67
65
|
def initialize(operation: {}, methods: {}, connection: Connection.new, streams: ProhibitedStreams.new,
|
68
66
|
object_definitions: nil)
|
69
|
-
@operation = T.let(
|
70
|
-
|
67
|
+
@operation = T.let(
|
68
|
+
Utilities::HashWithIndifferentAccess.wrap(operation),
|
69
|
+
ActiveSupport::HashWithIndifferentAccess
|
70
|
+
)
|
71
|
+
@_methods = T.let(
|
72
|
+
Utilities::HashWithIndifferentAccess.wrap(methods),
|
73
|
+
ActiveSupport::HashWithIndifferentAccess
|
74
|
+
)
|
71
75
|
@connection = T.let(connection, Connection)
|
72
76
|
@streams = T.let(streams, Streams)
|
73
77
|
@object_definitions = T.let(object_definitions, T.nilable(ObjectDefinitions))
|
@@ -90,10 +94,10 @@ module Workato
|
|
90
94
|
connection.merge_settings!(settings) if settings
|
91
95
|
request_or_result = T.unsafe(self).instance_exec(
|
92
96
|
connection.settings,
|
93
|
-
HashWithIndifferentAccess.wrap(input),
|
94
|
-
Array.wrap(extended_input_schema).map { |i| HashWithIndifferentAccess.wrap(i) },
|
95
|
-
Array.wrap(extended_output_schema).map { |i| HashWithIndifferentAccess.wrap(i) },
|
96
|
-
HashWithIndifferentAccess.wrap(continue),
|
97
|
+
Utilities::HashWithIndifferentAccess.wrap(input),
|
98
|
+
Array.wrap(extended_input_schema).map { |i| Utilities::HashWithIndifferentAccess.wrap(i) },
|
99
|
+
Array.wrap(extended_output_schema).map { |i| Utilities::HashWithIndifferentAccess.wrap(i) },
|
100
|
+
Utilities::HashWithIndifferentAccess.wrap(continue),
|
97
101
|
&block
|
98
102
|
)
|
99
103
|
result = resolve_request(request_or_result)
|
@@ -105,7 +109,7 @@ module Workato
|
|
105
109
|
settings: T.nilable(SorbetTypes::SettingsHash),
|
106
110
|
config_fields: SorbetTypes::OperationInputHash
|
107
111
|
).returns(
|
108
|
-
HashWithIndifferentAccess
|
112
|
+
ActiveSupport::HashWithIndifferentAccess
|
109
113
|
)
|
110
114
|
end
|
111
115
|
def extended_schema(settings = nil, config_fields = {})
|
@@ -200,7 +204,7 @@ module Workato
|
|
200
204
|
|
201
205
|
sig do
|
202
206
|
params(
|
203
|
-
object_definitions_hash: HashWithIndifferentAccess,
|
207
|
+
object_definitions_hash: ActiveSupport::HashWithIndifferentAccess,
|
204
208
|
settings: T.nilable(SorbetTypes::SettingsHash),
|
205
209
|
config_fields: SorbetTypes::OperationInputHash,
|
206
210
|
schema_proc: T.nilable(SorbetTypes::OperationSchemaProc)
|
@@ -253,7 +257,7 @@ module Workato
|
|
253
257
|
def try_convert_to_hash_with_indifferent_access(value)
|
254
258
|
case value
|
255
259
|
when ::Hash
|
256
|
-
HashWithIndifferentAccess.wrap(value)
|
260
|
+
Utilities::HashWithIndifferentAccess.wrap(value)
|
257
261
|
when ::Array
|
258
262
|
value.map! { |i| try_convert_to_hash_with_indifferent_access(i) }
|
259
263
|
else
|
@@ -266,7 +270,7 @@ module Workato
|
|
266
270
|
T.must(@object_definitions)
|
267
271
|
end
|
268
272
|
|
269
|
-
sig { returns(HashWithIndifferentAccess) }
|
273
|
+
sig { returns(ActiveSupport::HashWithIndifferentAccess) }
|
270
274
|
attr_reader :operation
|
271
275
|
|
272
276
|
sig { override.returns(Connection) }
|
@@ -11,9 +11,7 @@ require 'active_support/json'
|
|
11
11
|
|
12
12
|
require 'workato/utilities/encoding'
|
13
13
|
require 'workato/utilities/xml'
|
14
|
-
require_relative '
|
15
|
-
|
16
|
-
using Workato::Extension::HashWithIndifferentAccess
|
14
|
+
require_relative 'block_invocation_refinements'
|
17
15
|
|
18
16
|
module Workato
|
19
17
|
module Connector
|
@@ -77,7 +75,7 @@ module Workato
|
|
77
75
|
|
78
76
|
def params(params)
|
79
77
|
if params.is_a?(Hash)
|
80
|
-
@params ||= HashWithIndifferentAccess.new
|
78
|
+
@params ||= ActiveSupport::HashWithIndifferentAccess.new
|
81
79
|
@params.merge!(params)
|
82
80
|
else
|
83
81
|
@params = params
|
@@ -86,15 +84,11 @@ module Workato
|
|
86
84
|
end
|
87
85
|
|
88
86
|
def payload(payload = nil)
|
89
|
-
|
90
|
-
|
91
|
-
@payload
|
92
|
-
@payload += payload
|
93
|
-
when NilClass
|
94
|
-
# no-op
|
87
|
+
if defined?(@payload) || payload.is_a?(Hash)
|
88
|
+
@payload ||= ActiveSupport::HashWithIndifferentAccess.new
|
89
|
+
@payload.merge!(payload) if payload
|
95
90
|
else
|
96
|
-
@payload
|
97
|
-
@payload.merge!(payload)
|
91
|
+
@payload = payload
|
98
92
|
end
|
99
93
|
yield(@payload) if Kernel.block_given?
|
100
94
|
self
|
@@ -367,7 +361,7 @@ module Workato
|
|
367
361
|
end
|
368
362
|
|
369
363
|
def detect_auth_error!(response)
|
370
|
-
return unless
|
364
|
+
return unless authorization? && connection.authorization.reauthorizable?
|
371
365
|
|
372
366
|
error_patterns = connection.authorization.detect_on
|
373
367
|
return unless error_patterns.any? { |pattern| pattern === response rescue false }
|
@@ -376,7 +370,7 @@ module Workato
|
|
376
370
|
end
|
377
371
|
|
378
372
|
def after_error_response_matches?(exception)
|
379
|
-
return if @after_error_response_matches.blank?
|
373
|
+
return false if @after_error_response_matches.blank?
|
380
374
|
|
381
375
|
@after_error_response_matches.find do |match|
|
382
376
|
case match
|
@@ -394,14 +388,15 @@ module Workato
|
|
394
388
|
within_action_context(
|
395
389
|
exception.http_code,
|
396
390
|
exception.http_body,
|
397
|
-
HashWithIndifferentAccess.wrap(exception.http_headers),
|
391
|
+
Utilities::HashWithIndifferentAccess.wrap(exception.http_headers),
|
398
392
|
exception.message,
|
399
393
|
&@after_error_response
|
400
394
|
)
|
401
395
|
end
|
402
396
|
|
403
397
|
def apply_after_response(code, parsed_response, headers)
|
404
|
-
|
398
|
+
headers ||= {}
|
399
|
+
encoded_headers = headers.each_with_object(ActiveSupport::HashWithIndifferentAccess.new) do |(k, v), h|
|
405
400
|
h[k] = Workato::Utilities::Encoding.force_best_encoding!(v.to_s)
|
406
401
|
end
|
407
402
|
within_action_context(code, parsed_response, encoded_headers, &@after_response)
|
@@ -412,12 +407,12 @@ module Workato
|
|
412
407
|
end
|
413
408
|
|
414
409
|
sig { returns(T::Boolean) }
|
415
|
-
def
|
410
|
+
def authorization?
|
416
411
|
!!@connection&.authorization?
|
417
412
|
end
|
418
413
|
|
419
414
|
def authorized
|
420
|
-
return yield unless
|
415
|
+
return yield unless authorization?
|
421
416
|
|
422
417
|
apply = connection.authorization.source[:apply] || connection.authorization.source[:credentials]
|
423
418
|
return yield unless apply
|
@@ -442,11 +437,11 @@ module Workato
|
|
442
437
|
|
443
438
|
sig do
|
444
439
|
params(
|
445
|
-
settings: HashWithIndifferentAccess,
|
440
|
+
settings: ActiveSupport::HashWithIndifferentAccess,
|
446
441
|
access_token: T.untyped,
|
447
442
|
auth_type: T.untyped,
|
448
443
|
apply_proc: T.proc.params(
|
449
|
-
settings: HashWithIndifferentAccess,
|
444
|
+
settings: ActiveSupport::HashWithIndifferentAccess,
|
450
445
|
access_token: T.untyped,
|
451
446
|
auth_type: T.untyped
|
452
447
|
).void
|
@@ -458,10 +453,10 @@ module Workato
|
|
458
453
|
|
459
454
|
sig do
|
460
455
|
params(
|
461
|
-
settings: HashWithIndifferentAccess,
|
456
|
+
settings: ActiveSupport::HashWithIndifferentAccess,
|
462
457
|
auth_type: T.untyped,
|
463
458
|
apply_proc: T.proc.params(
|
464
|
-
settings: HashWithIndifferentAccess,
|
459
|
+
settings: ActiveSupport::HashWithIndifferentAccess,
|
465
460
|
auth_type: T.untyped
|
466
461
|
).void
|
467
462
|
).void
|
@@ -472,7 +467,7 @@ module Workato
|
|
472
467
|
|
473
468
|
sig do
|
474
469
|
params(
|
475
|
-
settings_before: HashWithIndifferentAccess,
|
470
|
+
settings_before: ActiveSupport::HashWithIndifferentAccess,
|
476
471
|
http_code: T.nilable(Integer),
|
477
472
|
http_body: T.nilable(String),
|
478
473
|
exception: T.nilable(String)
|
@@ -1,22 +1,20 @@
|
|
1
1
|
# typed: false
|
2
2
|
# frozen_string_literal: true
|
3
3
|
|
4
|
-
using Workato::Extension::HashWithIndifferentAccess
|
5
|
-
|
6
4
|
module Workato
|
7
5
|
module Connector
|
8
6
|
module Sdk
|
9
7
|
class Schema < SimpleDelegator
|
10
8
|
def initialize(schema: [])
|
11
|
-
super(Fields.new(::Array.wrap(schema).map { |i| HashWithIndifferentAccess.wrap(i) }))
|
9
|
+
super(Fields.new(::Array.wrap(schema).map { |i| Utilities::HashWithIndifferentAccess.wrap(i) }))
|
12
10
|
end
|
13
11
|
|
14
12
|
def trim(input)
|
15
|
-
HashWithIndifferentAccess.wrap(input).keep_if { |property_name| includes_property?(property_name) }
|
13
|
+
Utilities::HashWithIndifferentAccess.wrap(input).keep_if { |property_name| includes_property?(property_name) }
|
16
14
|
end
|
17
15
|
|
18
16
|
def apply(input, enforce_required:, &block)
|
19
|
-
HashWithIndifferentAccess.wrap(input).tap do |input_with_indifferent_access|
|
17
|
+
Utilities::HashWithIndifferentAccess.wrap(input).tap do |input_with_indifferent_access|
|
20
18
|
apply_to_hash(self, input_with_indifferent_access, enforce_required: enforce_required, &block)
|
21
19
|
end
|
22
20
|
end
|
@@ -225,12 +223,12 @@ module Workato
|
|
225
223
|
end
|
226
224
|
end
|
227
225
|
|
228
|
-
require_relative '
|
229
|
-
require_relative '
|
230
|
-
require_relative '
|
231
|
-
require_relative '
|
232
|
-
require_relative '
|
233
|
-
require_relative '
|
234
|
-
require_relative '
|
226
|
+
require_relative 'schema/field/array'
|
227
|
+
require_relative 'schema/field/date'
|
228
|
+
require_relative 'schema/field/date_time'
|
229
|
+
require_relative 'schema/field/integer'
|
230
|
+
require_relative 'schema/field/number'
|
231
|
+
require_relative 'schema/field/object'
|
232
|
+
require_relative 'schema/field/string'
|
235
233
|
|
236
|
-
require_relative '
|
234
|
+
require_relative 'schema/type/time'
|
@@ -3,13 +3,13 @@
|
|
3
3
|
|
4
4
|
require 'active_support/encrypted_configuration'
|
5
5
|
|
6
|
-
using Workato::Extension::HashWithIndifferentAccess
|
7
|
-
|
8
6
|
module Workato
|
9
7
|
module Connector
|
10
8
|
module Sdk
|
11
9
|
module SorbetTypes
|
12
|
-
SettingsHash = T.type_alias
|
10
|
+
SettingsHash = T.type_alias do
|
11
|
+
T.any(ActiveSupport::HashWithIndifferentAccess, T::Hash[T.any(Symbol, String), T.untyped])
|
12
|
+
end
|
13
13
|
end
|
14
14
|
|
15
15
|
class Settings
|
@@ -100,13 +100,13 @@ module Workato
|
|
100
100
|
end
|
101
101
|
|
102
102
|
def read_encrypted_file
|
103
|
-
all_settings = HashWithIndifferentAccess.wrap(encrypted_configuration.config)
|
103
|
+
all_settings = Utilities::HashWithIndifferentAccess.wrap(encrypted_configuration.config)
|
104
104
|
|
105
105
|
(name ? all_settings.fetch(name) : all_settings) || {}
|
106
106
|
end
|
107
107
|
|
108
108
|
def update_encrypted_file(new_settings)
|
109
|
-
all_settings = HashWithIndifferentAccess.wrap(encrypted_configuration.config)
|
109
|
+
all_settings = Utilities::HashWithIndifferentAccess.wrap(encrypted_configuration.config)
|
110
110
|
|
111
111
|
merge_settings(all_settings, new_settings)
|
112
112
|
|
@@ -1,8 +1,6 @@
|
|
1
1
|
# typed: strict
|
2
2
|
# frozen_string_literal: true
|
3
3
|
|
4
|
-
using Workato::Extension::HashWithIndifferentAccess
|
5
|
-
|
6
4
|
module Workato
|
7
5
|
module Connector
|
8
6
|
module Sdk
|
@@ -152,7 +150,7 @@ module Workato
|
|
152
150
|
when Proc
|
153
151
|
Proxy.new(
|
154
152
|
name: hash[:name],
|
155
|
-
input: HashWithIndifferentAccess.wrap(hash[:input] || {}),
|
153
|
+
input: Utilities::HashWithIndifferentAccess.wrap(hash[:input] || {}),
|
156
154
|
stream: Stream.new(
|
157
155
|
stream: hash[:chunks],
|
158
156
|
connection: Connection.new(
|
@@ -3,8 +3,6 @@
|
|
3
3
|
|
4
4
|
require 'securerandom'
|
5
5
|
|
6
|
-
using Workato::Extension::HashWithIndifferentAccess
|
7
|
-
|
8
6
|
module Workato
|
9
7
|
module Connector
|
10
8
|
module Sdk
|
@@ -145,14 +143,14 @@ module Workato
|
|
145
143
|
)
|
146
144
|
connection.merge_settings!(settings) if settings
|
147
145
|
output = global_dsl_context.execute(
|
148
|
-
HashWithIndifferentAccess.wrap(input),
|
146
|
+
Utilities::HashWithIndifferentAccess.wrap(input),
|
149
147
|
payload,
|
150
|
-
Array.wrap(extended_input_schema).map { |i| HashWithIndifferentAccess.wrap(i) },
|
151
|
-
Array.wrap(extended_output_schema).map { |i| HashWithIndifferentAccess.wrap(i) },
|
152
|
-
HashWithIndifferentAccess.wrap(headers),
|
153
|
-
HashWithIndifferentAccess.wrap(params),
|
148
|
+
Array.wrap(extended_input_schema).map { |i| Utilities::HashWithIndifferentAccess.wrap(i) },
|
149
|
+
Array.wrap(extended_output_schema).map { |i| Utilities::HashWithIndifferentAccess.wrap(i) },
|
150
|
+
Utilities::HashWithIndifferentAccess.wrap(headers),
|
151
|
+
Utilities::HashWithIndifferentAccess.wrap(params),
|
154
152
|
connection.settings,
|
155
|
-
HashWithIndifferentAccess.wrap(webhook_subscribe_output),
|
153
|
+
Utilities::HashWithIndifferentAccess.wrap(webhook_subscribe_output),
|
156
154
|
&trigger[:webhook_notification]
|
157
155
|
)
|
158
156
|
if output.is_a?(::Array)
|
@@ -18,7 +18,6 @@ require_relative '../extension/date'
|
|
18
18
|
require_relative '../extension/enumerable'
|
19
19
|
require_relative '../extension/extra_chain_cert'
|
20
20
|
require_relative '../extension/hash'
|
21
|
-
require_relative '../extension/hash_with_indifferent_access'
|
22
21
|
require_relative '../extension/integer'
|
23
22
|
require_relative '../extension/nil_class'
|
24
23
|
require_relative '../extension/object'
|
@@ -27,7 +26,7 @@ require_relative '../extension/string'
|
|
27
26
|
require_relative '../extension/symbol'
|
28
27
|
require_relative '../extension/time'
|
29
28
|
|
30
|
-
require_relative '
|
29
|
+
require_relative 'sdk/core'
|
31
30
|
|
32
31
|
begin
|
33
32
|
tz = ENV.fetch('TZ', nil)
|
@@ -18,7 +18,7 @@ module Enumerable
|
|
18
18
|
end
|
19
19
|
|
20
20
|
map do |val|
|
21
|
-
format % (Array.wrap(val).map { |v| v.is_a?(HashWithIndifferentAccess) ? v.symbolize_keys : v })
|
21
|
+
format % (Array.wrap(val).map { |v| v.is_a?(ActiveSupport::HashWithIndifferentAccess) ? v.symbolize_keys : v })
|
22
22
|
end
|
23
23
|
end
|
24
24
|
|
@@ -1,14 +1,17 @@
|
|
1
|
-
# typed:
|
1
|
+
# typed: strict
|
2
2
|
# frozen_string_literal: true
|
3
3
|
|
4
4
|
require 'active_support/hash_with_indifferent_access'
|
5
5
|
|
6
6
|
module Workato
|
7
|
-
module
|
7
|
+
module Utilities
|
8
8
|
module HashWithIndifferentAccess
|
9
|
-
|
9
|
+
class << self
|
10
|
+
extend T::Sig
|
11
|
+
|
12
|
+
sig { params(value: T.untyped).returns(ActiveSupport::HashWithIndifferentAccess) }
|
10
13
|
def wrap(value)
|
11
|
-
return
|
14
|
+
return ActiveSupport::HashWithIndifferentAccess.new unless value
|
12
15
|
return value if value.is_a?(ActiveSupport::HashWithIndifferentAccess)
|
13
16
|
|
14
17
|
value.with_indifferent_access
|
@@ -14,7 +14,7 @@ module Workato
|
|
14
14
|
ancestors.shift while ancestors.count > node.depth + 1
|
15
15
|
case node.node_type
|
16
16
|
when Nokogiri::XML::Reader::TYPE_ELEMENT
|
17
|
-
element = HashWithIndifferentAccess.new
|
17
|
+
element = ActiveSupport::HashWithIndifferentAccess.new
|
18
18
|
node.attributes&.each do |name, value|
|
19
19
|
element["@#{strip_namespaces ? name[/(?:^xmlns:)?[^:]+$/] : name}"] = value
|
20
20
|
end
|