multiwoven-integrations 0.43.0 → 0.43.2
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/.ruby-version +1 -1
- data/lib/multiwoven/integrations/core/query_builder.rb +2 -2
- data/lib/multiwoven/integrations/core/utils.rb +5 -0
- data/lib/multiwoven/integrations/destination/amazon_s3/client.rb +3 -1
- data/lib/multiwoven/integrations/destination/postgresql/client.rb +1 -1
- data/lib/multiwoven/integrations/destination/sftp/client.rb +3 -1
- data/lib/multiwoven/integrations/rollout.rb +1 -1
- data/lib/multiwoven/integrations/source/aisquared/config/models.json +2 -2
- data/multiwoven-integrations.gemspec +3 -0
- metadata +45 -6
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: ee3d0d0974a94d4b1209840ab232990dc52695e48f57a3416f54124c317b6e65
|
|
4
|
+
data.tar.gz: '0941d61ece52ef976a080ab7466f285c34af234d2509d093889776b813d20759'
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 2a7f48a14fb40ee92be84016cfcec9eab5123490b4fa73c5fc21501da9d124857c09f3cb374a09328b4730c8a78ef1ebea61c89adf7500d5d480e2a953873023
|
|
7
|
+
data.tar.gz: 012db731b0d503876bbdd0758162b8179bcb34e42d4f5afb2ecdd924dcb790cdba1338e8cd4579eba0a4b934984047d9604d48d44d163b66cf3ddb8fb297d437
|
data/.ruby-version
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
3.
|
|
1
|
+
3.4.11
|
|
@@ -9,7 +9,7 @@ module Multiwoven
|
|
|
9
9
|
case action.downcase
|
|
10
10
|
when "destination_insert"
|
|
11
11
|
columns = record.keys.join(", ")
|
|
12
|
-
values = record.values.map { |value| "'#{value}'" }.join(", ")
|
|
12
|
+
values = record.values.map { |value| "'#{Utils.serialize_value(value)}'" }.join(", ")
|
|
13
13
|
# TODO: support bulk insert
|
|
14
14
|
"INSERT INTO #{table} (#{columns}) VALUES (#{values});"
|
|
15
15
|
when "destination_update"
|
|
@@ -21,7 +21,7 @@ module Multiwoven
|
|
|
21
21
|
end
|
|
22
22
|
|
|
23
23
|
primary_key_value = record.delete(primary_key) # Remove and return the primary key value
|
|
24
|
-
set_clause = record.map { |key, value| "#{key} = '#{value}'" }.join(", ")
|
|
24
|
+
set_clause = record.map { |key, value| "#{key} = '#{Utils.serialize_value(value)}'" }.join(", ")
|
|
25
25
|
where_clause = "#{primary_key} = '#{primary_key_value}'"
|
|
26
26
|
"UPDATE #{table} SET #{set_clause} WHERE #{where_clause};"
|
|
27
27
|
else
|
|
@@ -3,6 +3,11 @@
|
|
|
3
3
|
module Multiwoven
|
|
4
4
|
module Integrations::Core
|
|
5
5
|
module Utils
|
|
6
|
+
def serialize_value(value)
|
|
7
|
+
value.is_a?(Hash) || value.is_a?(Array) ? value.to_json : value
|
|
8
|
+
end
|
|
9
|
+
module_function :serialize_value
|
|
10
|
+
|
|
6
11
|
def keys_to_symbols(hash)
|
|
7
12
|
if hash.is_a?(Hash)
|
|
8
13
|
hash.each_with_object({}) do |(key, value), result|
|
|
@@ -96,7 +96,9 @@ module Multiwoven::Integrations::Destination
|
|
|
96
96
|
CSV.generate do |csv|
|
|
97
97
|
headers = records.first.keys
|
|
98
98
|
csv << headers
|
|
99
|
-
records.each
|
|
99
|
+
records.each do |record|
|
|
100
|
+
csv << record.values_at(*headers).map { |v| serialize_value(v) }
|
|
101
|
+
end
|
|
100
102
|
end
|
|
101
103
|
end
|
|
102
104
|
|
|
@@ -149,7 +149,9 @@ module Multiwoven::Integrations::Destination
|
|
|
149
149
|
CSV.generate do |csv|
|
|
150
150
|
headers = records.first.keys
|
|
151
151
|
csv << headers
|
|
152
|
-
records.each
|
|
152
|
+
records.each do |record|
|
|
153
|
+
csv << record.values_at(*headers).map { |v| serialize_value(v) }
|
|
154
|
+
end
|
|
153
155
|
end
|
|
154
156
|
end
|
|
155
157
|
|
|
@@ -39,6 +39,8 @@ Gem::Specification.new do |spec|
|
|
|
39
39
|
spec.add_runtime_dependency "aws-sdk-s3"
|
|
40
40
|
spec.add_runtime_dependency "aws-sdk-sts"
|
|
41
41
|
spec.add_runtime_dependency "aws-sigv4"
|
|
42
|
+
spec.add_runtime_dependency "base64"
|
|
43
|
+
spec.add_runtime_dependency "bigdecimal"
|
|
42
44
|
spec.add_runtime_dependency "csv"
|
|
43
45
|
spec.add_runtime_dependency "dry-schema"
|
|
44
46
|
spec.add_runtime_dependency "dry-struct"
|
|
@@ -52,6 +54,7 @@ Gem::Specification.new do |spec|
|
|
|
52
54
|
spec.add_runtime_dependency "hubspot-api-client"
|
|
53
55
|
spec.add_runtime_dependency "iterable-api-client"
|
|
54
56
|
spec.add_runtime_dependency "jwt"
|
|
57
|
+
spec.add_runtime_dependency "logger"
|
|
55
58
|
spec.add_runtime_dependency "MailchimpMarketing"
|
|
56
59
|
spec.add_runtime_dependency "net-sftp"
|
|
57
60
|
spec.add_runtime_dependency "pg"
|
metadata
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: multiwoven-integrations
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.43.
|
|
4
|
+
version: 0.43.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Subin T P
|
|
8
|
-
autorequire:
|
|
9
8
|
bindir: exe
|
|
10
9
|
cert_chain: []
|
|
11
|
-
date:
|
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
12
11
|
dependencies:
|
|
13
12
|
- !ruby/object:Gem::Dependency
|
|
14
13
|
name: activesupport
|
|
@@ -94,6 +93,34 @@ dependencies:
|
|
|
94
93
|
- - ">="
|
|
95
94
|
- !ruby/object:Gem::Version
|
|
96
95
|
version: '0'
|
|
96
|
+
- !ruby/object:Gem::Dependency
|
|
97
|
+
name: base64
|
|
98
|
+
requirement: !ruby/object:Gem::Requirement
|
|
99
|
+
requirements:
|
|
100
|
+
- - ">="
|
|
101
|
+
- !ruby/object:Gem::Version
|
|
102
|
+
version: '0'
|
|
103
|
+
type: :runtime
|
|
104
|
+
prerelease: false
|
|
105
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
106
|
+
requirements:
|
|
107
|
+
- - ">="
|
|
108
|
+
- !ruby/object:Gem::Version
|
|
109
|
+
version: '0'
|
|
110
|
+
- !ruby/object:Gem::Dependency
|
|
111
|
+
name: bigdecimal
|
|
112
|
+
requirement: !ruby/object:Gem::Requirement
|
|
113
|
+
requirements:
|
|
114
|
+
- - ">="
|
|
115
|
+
- !ruby/object:Gem::Version
|
|
116
|
+
version: '0'
|
|
117
|
+
type: :runtime
|
|
118
|
+
prerelease: false
|
|
119
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
120
|
+
requirements:
|
|
121
|
+
- - ">="
|
|
122
|
+
- !ruby/object:Gem::Version
|
|
123
|
+
version: '0'
|
|
97
124
|
- !ruby/object:Gem::Dependency
|
|
98
125
|
name: csv
|
|
99
126
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -276,6 +303,20 @@ dependencies:
|
|
|
276
303
|
- - ">="
|
|
277
304
|
- !ruby/object:Gem::Version
|
|
278
305
|
version: '0'
|
|
306
|
+
- !ruby/object:Gem::Dependency
|
|
307
|
+
name: logger
|
|
308
|
+
requirement: !ruby/object:Gem::Requirement
|
|
309
|
+
requirements:
|
|
310
|
+
- - ">="
|
|
311
|
+
- !ruby/object:Gem::Version
|
|
312
|
+
version: '0'
|
|
313
|
+
type: :runtime
|
|
314
|
+
prerelease: false
|
|
315
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
316
|
+
requirements:
|
|
317
|
+
- - ">="
|
|
318
|
+
- !ruby/object:Gem::Version
|
|
319
|
+
version: '0'
|
|
279
320
|
- !ruby/object:Gem::Dependency
|
|
280
321
|
name: MailchimpMarketing
|
|
281
322
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -943,7 +984,6 @@ metadata:
|
|
|
943
984
|
homepage_uri: https://www.multiwoven.com/
|
|
944
985
|
source_code_uri: https://github.com/Multiwoven/multiwoven/tree/main/integrations
|
|
945
986
|
changelog_uri: https://github.com/Multiwoven/multiwoven/blob/main/integrations/CHANGELOG.md
|
|
946
|
-
post_install_message:
|
|
947
987
|
rdoc_options: []
|
|
948
988
|
require_paths:
|
|
949
989
|
- lib
|
|
@@ -958,8 +998,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
958
998
|
- !ruby/object:Gem::Version
|
|
959
999
|
version: '0'
|
|
960
1000
|
requirements: []
|
|
961
|
-
rubygems_version: 3.
|
|
962
|
-
signing_key:
|
|
1001
|
+
rubygems_version: 3.6.9
|
|
963
1002
|
specification_version: 4
|
|
964
1003
|
summary: Integration suite for open source reverse ETL platform
|
|
965
1004
|
test_files: []
|