etl-integrations 0.1.82 → 0.1.86
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +9 -9
- data/LICENSE.txt +1 -1
- data/README.md +13 -13
- data/etl-integrations-0.1.79.gem +0 -0
- data/etl-integrations-0.1.85.gem +0 -0
- data/lib/{multiwoven → etl}/integrations/config.rb +1 -1
- data/lib/{multiwoven → etl}/integrations/core/base_connector.rb +2 -2
- data/lib/{multiwoven → etl}/integrations/core/constants.rb +1 -1
- data/lib/{multiwoven → etl}/integrations/core/destination_connector.rb +1 -1
- data/lib/{multiwoven → etl}/integrations/core/fullrefresher.rb +2 -2
- data/lib/{multiwoven → etl}/integrations/core/http_client.rb +1 -1
- data/lib/{multiwoven → etl}/integrations/core/query_builder.rb +1 -1
- data/lib/{multiwoven → etl}/integrations/core/rate_limiter.rb +1 -1
- data/lib/{multiwoven → etl}/integrations/core/source_connector.rb +1 -1
- data/lib/{multiwoven → etl}/integrations/core/utils.rb +3 -3
- data/lib/{multiwoven → etl}/integrations/destination/airtable/client.rb +8 -8
- data/lib/{multiwoven → etl}/integrations/destination/airtable/schema_helper.rb +1 -1
- data/lib/{multiwoven → etl}/integrations/destination/facebook_custom_audience/client.rb +6 -6
- data/lib/{multiwoven → etl}/integrations/destination/google_sheets/client.rb +5 -5
- data/lib/{multiwoven → etl}/integrations/destination/hubspot/client.rb +5 -5
- data/lib/{multiwoven → etl}/integrations/destination/klaviyo/client.rb +6 -6
- data/lib/{multiwoven → etl}/integrations/destination/postgresql/client.rb +5 -5
- data/lib/{multiwoven → etl}/integrations/destination/salesforce_consumer_goods_cloud/client.rb +5 -5
- data/lib/{multiwoven → etl}/integrations/destination/salesforce_consumer_goods_cloud/schema_helper.rb +1 -1
- data/lib/{multiwoven → etl}/integrations/destination/salesforce_crm/client.rb +5 -5
- data/lib/{multiwoven → etl}/integrations/destination/sftp/client.rb +5 -5
- data/lib/{multiwoven → etl}/integrations/destination/slack/client.rb +4 -4
- data/lib/{multiwoven → etl}/integrations/destination/stripe/client.rb +5 -5
- data/lib/etl/integrations/destination/tally/client.rb +236 -0
- data/lib/{multiwoven → etl}/integrations/destination/tally/config/catalog.json +4 -1
- data/lib/{multiwoven → etl}/integrations/protocol/protocol.json +2 -2
- data/lib/{multiwoven → etl}/integrations/protocol/protocol.rb +2 -2
- data/lib/{multiwoven → etl}/integrations/rollout.rb +2 -2
- data/lib/{multiwoven → etl}/integrations/service.rb +3 -3
- data/lib/{multiwoven → etl}/integrations/source/bigquery/client.rb +3 -3
- data/lib/{multiwoven → etl}/integrations/source/databricks/client.rb +3 -3
- data/lib/{multiwoven → etl}/integrations/source/postgresql/client.rb +3 -3
- data/lib/{multiwoven → etl}/integrations/source/redshift/client.rb +3 -3
- data/lib/{multiwoven → etl}/integrations/source/salesforce_consumer_goods_cloud/client.rb +5 -5
- data/lib/{multiwoven → etl}/integrations/source/salesforce_consumer_goods_cloud/schema_helper.rb +1 -1
- data/lib/{multiwoven → etl}/integrations/source/snowflake/client.rb +3 -3
- data/lib/{multiwoven → etl}/integrations/source/zoho_books/client.rb +5 -5
- data/lib/{multiwoven → etl}/integrations.rb +1 -1
- data/sig/{multiwoven → etl}/integrations.rbs +1 -1
- metadata +117 -116
- data/lib/multiwoven/integrations/destination/tally/client.rb +0 -151
- data/multiwoven-integrations.gemspec +0 -65
- /data/{multiwoven-integrations-0.1.68.gem → etl-integrations-0.1.68.gem} +0 -0
- /data/lib/{multiwoven → etl}/integrations/destination/airtable/config/catalog.json +0 -0
- /data/lib/{multiwoven → etl}/integrations/destination/airtable/config/meta.json +0 -0
- /data/lib/{multiwoven → etl}/integrations/destination/airtable/config/spec.json +0 -0
- /data/lib/{multiwoven → etl}/integrations/destination/airtable/icon.svg +0 -0
- /data/lib/{multiwoven → etl}/integrations/destination/facebook_custom_audience/config/catalog.json +0 -0
- /data/lib/{multiwoven → etl}/integrations/destination/facebook_custom_audience/config/meta.json +0 -0
- /data/lib/{multiwoven → etl}/integrations/destination/facebook_custom_audience/config/spec.json +0 -0
- /data/lib/{multiwoven → etl}/integrations/destination/facebook_custom_audience/icon.svg +0 -0
- /data/lib/{multiwoven → etl}/integrations/destination/google_sheets/config/catalog.json +0 -0
- /data/lib/{multiwoven → etl}/integrations/destination/google_sheets/config/meta.json +0 -0
- /data/lib/{multiwoven → etl}/integrations/destination/google_sheets/config/spec.json +0 -0
- /data/lib/{multiwoven → etl}/integrations/destination/google_sheets/icon.svg +0 -0
- /data/lib/{multiwoven → etl}/integrations/destination/hubspot/config/catalog.json +0 -0
- /data/lib/{multiwoven → etl}/integrations/destination/hubspot/config/meta.json +0 -0
- /data/lib/{multiwoven → etl}/integrations/destination/hubspot/config/spec.json +0 -0
- /data/lib/{multiwoven → etl}/integrations/destination/hubspot/icon.svg +0 -0
- /data/lib/{multiwoven → etl}/integrations/destination/klaviyo/config/catalog.json +0 -0
- /data/lib/{multiwoven → etl}/integrations/destination/klaviyo/config/meta.json +0 -0
- /data/lib/{multiwoven → etl}/integrations/destination/klaviyo/config/spec.json +0 -0
- /data/lib/{multiwoven → etl}/integrations/destination/klaviyo/icon.svg +0 -0
- /data/lib/{multiwoven → etl}/integrations/destination/postgresql/config/meta.json +0 -0
- /data/lib/{multiwoven → etl}/integrations/destination/postgresql/config/spec.json +0 -0
- /data/lib/{multiwoven → etl}/integrations/destination/postgresql/icon.svg +0 -0
- /data/lib/{multiwoven → etl}/integrations/destination/salesforce_consumer_goods_cloud/config/catalog.json +0 -0
- /data/lib/{multiwoven → etl}/integrations/destination/salesforce_consumer_goods_cloud/config/meta.json +0 -0
- /data/lib/{multiwoven → etl}/integrations/destination/salesforce_consumer_goods_cloud/config/spec.json +0 -0
- /data/lib/{multiwoven → etl}/integrations/destination/salesforce_consumer_goods_cloud/icon.svg +0 -0
- /data/lib/{multiwoven → etl}/integrations/destination/salesforce_crm/config/catalog.json +0 -0
- /data/lib/{multiwoven → etl}/integrations/destination/salesforce_crm/config/meta.json +0 -0
- /data/lib/{multiwoven → etl}/integrations/destination/salesforce_crm/config/spec.json +0 -0
- /data/lib/{multiwoven → etl}/integrations/destination/salesforce_crm/icon.svg +0 -0
- /data/lib/{multiwoven → etl}/integrations/destination/sftp/config/catalog.json +0 -0
- /data/lib/{multiwoven → etl}/integrations/destination/sftp/config/meta.json +0 -0
- /data/lib/{multiwoven → etl}/integrations/destination/sftp/config/spec.json +0 -0
- /data/lib/{multiwoven → etl}/integrations/destination/sftp/icon.svg +0 -0
- /data/lib/{multiwoven → etl}/integrations/destination/slack/config/catalog.json +0 -0
- /data/lib/{multiwoven → etl}/integrations/destination/slack/config/meta.json +0 -0
- /data/lib/{multiwoven → etl}/integrations/destination/slack/config/spec.json +0 -0
- /data/lib/{multiwoven → etl}/integrations/destination/slack/icon.svg +0 -0
- /data/lib/{multiwoven → etl}/integrations/destination/stripe/config/catalog.json +0 -0
- /data/lib/{multiwoven → etl}/integrations/destination/stripe/config/meta.json +0 -0
- /data/lib/{multiwoven → etl}/integrations/destination/stripe/config/spec.json +0 -0
- /data/lib/{multiwoven → etl}/integrations/destination/stripe/icon.svg +0 -0
- /data/lib/{multiwoven → etl}/integrations/destination/tally/config/meta.json +0 -0
- /data/lib/{multiwoven → etl}/integrations/destination/tally/config/spec.json +0 -0
- /data/lib/{multiwoven → etl}/integrations/destination/tally/icon.svg +0 -0
- /data/lib/{multiwoven → etl}/integrations/source/bigquery/config/meta.json +0 -0
- /data/lib/{multiwoven → etl}/integrations/source/bigquery/config/spec.json +0 -0
- /data/lib/{multiwoven → etl}/integrations/source/bigquery/icon.svg +0 -0
- /data/lib/{multiwoven → etl}/integrations/source/databricks/config/meta.json +0 -0
- /data/lib/{multiwoven → etl}/integrations/source/databricks/config/spec.json +0 -0
- /data/lib/{multiwoven → etl}/integrations/source/databricks/icon.svg +0 -0
- /data/lib/{multiwoven → etl}/integrations/source/postgresql/config/meta.json +0 -0
- /data/lib/{multiwoven → etl}/integrations/source/postgresql/config/spec.json +0 -0
- /data/lib/{multiwoven → etl}/integrations/source/postgresql/icon.svg +0 -0
- /data/lib/{multiwoven → etl}/integrations/source/redshift/config/meta.json +0 -0
- /data/lib/{multiwoven → etl}/integrations/source/redshift/config/spec.json +0 -0
- /data/lib/{multiwoven → etl}/integrations/source/redshift/icon.svg +0 -0
- /data/lib/{multiwoven → etl}/integrations/source/salesforce_consumer_goods_cloud/config/catalog.json +0 -0
- /data/lib/{multiwoven → etl}/integrations/source/salesforce_consumer_goods_cloud/config/meta.json +0 -0
- /data/lib/{multiwoven → etl}/integrations/source/salesforce_consumer_goods_cloud/config/spec.json +0 -0
- /data/lib/{multiwoven → etl}/integrations/source/salesforce_consumer_goods_cloud/icon.svg +0 -0
- /data/lib/{multiwoven → etl}/integrations/source/snowflake/config/meta.json +0 -0
- /data/lib/{multiwoven → etl}/integrations/source/snowflake/config/spec.json +0 -0
- /data/lib/{multiwoven → etl}/integrations/source/snowflake/icon.svg +0 -0
- /data/lib/{multiwoven → etl}/integrations/source/zoho_books/config/meta.json +0 -0
- /data/lib/{multiwoven → etl}/integrations/source/zoho_books/config/spec.json +0 -0
- /data/lib/{multiwoven → etl}/integrations/source/zoho_books/icon.svg +0 -0
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: etl-integrations
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.86
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Anas Ahmed
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-09-
|
11
|
+
date: 2024-09-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -377,123 +377,124 @@ files:
|
|
377
377
|
- LICENSE.txt
|
378
378
|
- README.md
|
379
379
|
- Rakefile
|
380
|
-
-
|
381
|
-
-
|
382
|
-
-
|
383
|
-
- lib/
|
384
|
-
- lib/
|
385
|
-
- lib/
|
386
|
-
- lib/
|
387
|
-
- lib/
|
388
|
-
- lib/
|
389
|
-
- lib/
|
390
|
-
- lib/
|
391
|
-
- lib/
|
392
|
-
- lib/
|
393
|
-
- lib/
|
394
|
-
- lib/
|
395
|
-
- lib/
|
396
|
-
- lib/
|
397
|
-
- lib/
|
398
|
-
- lib/
|
399
|
-
- lib/
|
400
|
-
- lib/
|
401
|
-
- lib/
|
402
|
-
- lib/
|
403
|
-
- lib/
|
404
|
-
- lib/
|
405
|
-
- lib/
|
406
|
-
- lib/
|
407
|
-
- lib/
|
408
|
-
- lib/
|
409
|
-
- lib/
|
410
|
-
- lib/
|
411
|
-
- lib/
|
412
|
-
- lib/
|
413
|
-
- lib/
|
414
|
-
- lib/
|
415
|
-
- lib/
|
416
|
-
- lib/
|
417
|
-
- lib/
|
418
|
-
- lib/
|
419
|
-
- lib/
|
420
|
-
- lib/
|
421
|
-
- lib/
|
422
|
-
- lib/
|
423
|
-
- lib/
|
424
|
-
- lib/
|
425
|
-
- lib/
|
426
|
-
- lib/
|
427
|
-
- lib/
|
428
|
-
- lib/
|
429
|
-
- lib/
|
430
|
-
- lib/
|
431
|
-
- lib/
|
432
|
-
- lib/
|
433
|
-
- lib/
|
434
|
-
- lib/
|
435
|
-
- lib/
|
436
|
-
- lib/
|
437
|
-
- lib/
|
438
|
-
- lib/
|
439
|
-
- lib/
|
440
|
-
- lib/
|
441
|
-
- lib/
|
442
|
-
- lib/
|
443
|
-
- lib/
|
444
|
-
- lib/
|
445
|
-
- lib/
|
446
|
-
- lib/
|
447
|
-
- lib/
|
448
|
-
- lib/
|
449
|
-
- lib/
|
450
|
-
- lib/
|
451
|
-
- lib/
|
452
|
-
- lib/
|
453
|
-
- lib/
|
454
|
-
- lib/
|
455
|
-
- lib/
|
456
|
-
- lib/
|
457
|
-
- lib/
|
458
|
-
- lib/
|
459
|
-
- lib/
|
460
|
-
- lib/
|
461
|
-
- lib/
|
462
|
-
- lib/
|
463
|
-
- lib/
|
464
|
-
- lib/
|
465
|
-
- lib/
|
466
|
-
- lib/
|
467
|
-
- lib/
|
468
|
-
- lib/
|
469
|
-
- lib/
|
470
|
-
- lib/
|
471
|
-
- lib/
|
472
|
-
- lib/
|
473
|
-
- lib/
|
474
|
-
- lib/
|
475
|
-
- lib/
|
476
|
-
- lib/
|
477
|
-
- lib/
|
478
|
-
- lib/
|
479
|
-
- lib/
|
480
|
-
- lib/
|
481
|
-
- lib/
|
482
|
-
- lib/
|
483
|
-
- lib/
|
484
|
-
- lib/
|
485
|
-
- lib/
|
486
|
-
-
|
487
|
-
-
|
488
|
-
-
|
489
|
-
|
380
|
+
- etl-integrations-0.1.68.gem
|
381
|
+
- etl-integrations-0.1.79.gem
|
382
|
+
- etl-integrations-0.1.85.gem
|
383
|
+
- lib/etl/integrations.rb
|
384
|
+
- lib/etl/integrations/config.rb
|
385
|
+
- lib/etl/integrations/core/base_connector.rb
|
386
|
+
- lib/etl/integrations/core/constants.rb
|
387
|
+
- lib/etl/integrations/core/destination_connector.rb
|
388
|
+
- lib/etl/integrations/core/fullrefresher.rb
|
389
|
+
- lib/etl/integrations/core/http_client.rb
|
390
|
+
- lib/etl/integrations/core/query_builder.rb
|
391
|
+
- lib/etl/integrations/core/rate_limiter.rb
|
392
|
+
- lib/etl/integrations/core/source_connector.rb
|
393
|
+
- lib/etl/integrations/core/utils.rb
|
394
|
+
- lib/etl/integrations/destination/airtable/client.rb
|
395
|
+
- lib/etl/integrations/destination/airtable/config/catalog.json
|
396
|
+
- lib/etl/integrations/destination/airtable/config/meta.json
|
397
|
+
- lib/etl/integrations/destination/airtable/config/spec.json
|
398
|
+
- lib/etl/integrations/destination/airtable/icon.svg
|
399
|
+
- lib/etl/integrations/destination/airtable/schema_helper.rb
|
400
|
+
- lib/etl/integrations/destination/facebook_custom_audience/client.rb
|
401
|
+
- lib/etl/integrations/destination/facebook_custom_audience/config/catalog.json
|
402
|
+
- lib/etl/integrations/destination/facebook_custom_audience/config/meta.json
|
403
|
+
- lib/etl/integrations/destination/facebook_custom_audience/config/spec.json
|
404
|
+
- lib/etl/integrations/destination/facebook_custom_audience/icon.svg
|
405
|
+
- lib/etl/integrations/destination/google_sheets/client.rb
|
406
|
+
- lib/etl/integrations/destination/google_sheets/config/catalog.json
|
407
|
+
- lib/etl/integrations/destination/google_sheets/config/meta.json
|
408
|
+
- lib/etl/integrations/destination/google_sheets/config/spec.json
|
409
|
+
- lib/etl/integrations/destination/google_sheets/icon.svg
|
410
|
+
- lib/etl/integrations/destination/hubspot/client.rb
|
411
|
+
- lib/etl/integrations/destination/hubspot/config/catalog.json
|
412
|
+
- lib/etl/integrations/destination/hubspot/config/meta.json
|
413
|
+
- lib/etl/integrations/destination/hubspot/config/spec.json
|
414
|
+
- lib/etl/integrations/destination/hubspot/icon.svg
|
415
|
+
- lib/etl/integrations/destination/klaviyo/client.rb
|
416
|
+
- lib/etl/integrations/destination/klaviyo/config/catalog.json
|
417
|
+
- lib/etl/integrations/destination/klaviyo/config/meta.json
|
418
|
+
- lib/etl/integrations/destination/klaviyo/config/spec.json
|
419
|
+
- lib/etl/integrations/destination/klaviyo/icon.svg
|
420
|
+
- lib/etl/integrations/destination/postgresql/client.rb
|
421
|
+
- lib/etl/integrations/destination/postgresql/config/meta.json
|
422
|
+
- lib/etl/integrations/destination/postgresql/config/spec.json
|
423
|
+
- lib/etl/integrations/destination/postgresql/icon.svg
|
424
|
+
- lib/etl/integrations/destination/salesforce_consumer_goods_cloud/client.rb
|
425
|
+
- lib/etl/integrations/destination/salesforce_consumer_goods_cloud/config/catalog.json
|
426
|
+
- lib/etl/integrations/destination/salesforce_consumer_goods_cloud/config/meta.json
|
427
|
+
- lib/etl/integrations/destination/salesforce_consumer_goods_cloud/config/spec.json
|
428
|
+
- lib/etl/integrations/destination/salesforce_consumer_goods_cloud/icon.svg
|
429
|
+
- lib/etl/integrations/destination/salesforce_consumer_goods_cloud/schema_helper.rb
|
430
|
+
- lib/etl/integrations/destination/salesforce_crm/client.rb
|
431
|
+
- lib/etl/integrations/destination/salesforce_crm/config/catalog.json
|
432
|
+
- lib/etl/integrations/destination/salesforce_crm/config/meta.json
|
433
|
+
- lib/etl/integrations/destination/salesforce_crm/config/spec.json
|
434
|
+
- lib/etl/integrations/destination/salesforce_crm/icon.svg
|
435
|
+
- lib/etl/integrations/destination/sftp/client.rb
|
436
|
+
- lib/etl/integrations/destination/sftp/config/catalog.json
|
437
|
+
- lib/etl/integrations/destination/sftp/config/meta.json
|
438
|
+
- lib/etl/integrations/destination/sftp/config/spec.json
|
439
|
+
- lib/etl/integrations/destination/sftp/icon.svg
|
440
|
+
- lib/etl/integrations/destination/slack/client.rb
|
441
|
+
- lib/etl/integrations/destination/slack/config/catalog.json
|
442
|
+
- lib/etl/integrations/destination/slack/config/meta.json
|
443
|
+
- lib/etl/integrations/destination/slack/config/spec.json
|
444
|
+
- lib/etl/integrations/destination/slack/icon.svg
|
445
|
+
- lib/etl/integrations/destination/stripe/client.rb
|
446
|
+
- lib/etl/integrations/destination/stripe/config/catalog.json
|
447
|
+
- lib/etl/integrations/destination/stripe/config/meta.json
|
448
|
+
- lib/etl/integrations/destination/stripe/config/spec.json
|
449
|
+
- lib/etl/integrations/destination/stripe/icon.svg
|
450
|
+
- lib/etl/integrations/destination/tally/client.rb
|
451
|
+
- lib/etl/integrations/destination/tally/config/catalog.json
|
452
|
+
- lib/etl/integrations/destination/tally/config/meta.json
|
453
|
+
- lib/etl/integrations/destination/tally/config/spec.json
|
454
|
+
- lib/etl/integrations/destination/tally/icon.svg
|
455
|
+
- lib/etl/integrations/protocol/protocol.json
|
456
|
+
- lib/etl/integrations/protocol/protocol.rb
|
457
|
+
- lib/etl/integrations/rollout.rb
|
458
|
+
- lib/etl/integrations/service.rb
|
459
|
+
- lib/etl/integrations/source/bigquery/client.rb
|
460
|
+
- lib/etl/integrations/source/bigquery/config/meta.json
|
461
|
+
- lib/etl/integrations/source/bigquery/config/spec.json
|
462
|
+
- lib/etl/integrations/source/bigquery/icon.svg
|
463
|
+
- lib/etl/integrations/source/databricks/client.rb
|
464
|
+
- lib/etl/integrations/source/databricks/config/meta.json
|
465
|
+
- lib/etl/integrations/source/databricks/config/spec.json
|
466
|
+
- lib/etl/integrations/source/databricks/icon.svg
|
467
|
+
- lib/etl/integrations/source/postgresql/client.rb
|
468
|
+
- lib/etl/integrations/source/postgresql/config/meta.json
|
469
|
+
- lib/etl/integrations/source/postgresql/config/spec.json
|
470
|
+
- lib/etl/integrations/source/postgresql/icon.svg
|
471
|
+
- lib/etl/integrations/source/redshift/client.rb
|
472
|
+
- lib/etl/integrations/source/redshift/config/meta.json
|
473
|
+
- lib/etl/integrations/source/redshift/config/spec.json
|
474
|
+
- lib/etl/integrations/source/redshift/icon.svg
|
475
|
+
- lib/etl/integrations/source/salesforce_consumer_goods_cloud/client.rb
|
476
|
+
- lib/etl/integrations/source/salesforce_consumer_goods_cloud/config/catalog.json
|
477
|
+
- lib/etl/integrations/source/salesforce_consumer_goods_cloud/config/meta.json
|
478
|
+
- lib/etl/integrations/source/salesforce_consumer_goods_cloud/config/spec.json
|
479
|
+
- lib/etl/integrations/source/salesforce_consumer_goods_cloud/icon.svg
|
480
|
+
- lib/etl/integrations/source/salesforce_consumer_goods_cloud/schema_helper.rb
|
481
|
+
- lib/etl/integrations/source/snowflake/client.rb
|
482
|
+
- lib/etl/integrations/source/snowflake/config/meta.json
|
483
|
+
- lib/etl/integrations/source/snowflake/config/spec.json
|
484
|
+
- lib/etl/integrations/source/snowflake/icon.svg
|
485
|
+
- lib/etl/integrations/source/zoho_books/client.rb
|
486
|
+
- lib/etl/integrations/source/zoho_books/config/meta.json
|
487
|
+
- lib/etl/integrations/source/zoho_books/config/spec.json
|
488
|
+
- lib/etl/integrations/source/zoho_books/icon.svg
|
489
|
+
- sig/etl/integrations.rbs
|
490
|
+
homepage: https://github.com/anasValign/etl-tool
|
490
491
|
licenses:
|
491
492
|
- MIT
|
492
493
|
metadata:
|
493
494
|
github_repo: https://github.com/anasValign/etl-tool
|
494
|
-
homepage_uri: https://
|
495
|
-
source_code_uri: https://github.com/
|
496
|
-
changelog_uri: https://github.com/
|
495
|
+
homepage_uri: https://github.com/anasValign/etl-tool
|
496
|
+
source_code_uri: https://github.com/Etl/multiwoven/tree/main/integrations
|
497
|
+
changelog_uri: https://github.com/Etl/multiwoven/blob/main/integrations/CHANGELOG.md
|
497
498
|
post_install_message:
|
498
499
|
rdoc_options: []
|
499
500
|
require_paths:
|
@@ -509,7 +510,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
509
510
|
- !ruby/object:Gem::Version
|
510
511
|
version: '0'
|
511
512
|
requirements: []
|
512
|
-
rubygems_version: 3.4.
|
513
|
+
rubygems_version: 3.4.1
|
513
514
|
signing_key:
|
514
515
|
specification_version: 4
|
515
516
|
summary: Integration suite for open source reverse ETL platform
|
@@ -1,151 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require "stringio"
|
4
|
-
require "net/http"
|
5
|
-
require "uri"
|
6
|
-
require "json"
|
7
|
-
require 'builder' # Add builder gem for XML generation
|
8
|
-
|
9
|
-
module Multiwoven
|
10
|
-
module Integrations
|
11
|
-
module Destination
|
12
|
-
module Tally
|
13
|
-
include Multiwoven::Integrations::Core
|
14
|
-
|
15
|
-
API_VERSION = "1.0"
|
16
|
-
|
17
|
-
class Client < DestinationConnector
|
18
|
-
prepend Multiwoven::Integrations::Core::RateLimiter
|
19
|
-
|
20
|
-
def check_connection(connection_config)
|
21
|
-
connection_config = connection_config.with_indifferent_access
|
22
|
-
initialize_client(connection_config)
|
23
|
-
authenticate_client
|
24
|
-
success_status
|
25
|
-
rescue StandardError => e
|
26
|
-
failure_status(e)
|
27
|
-
end
|
28
|
-
|
29
|
-
def discover(_connection_config = nil)
|
30
|
-
catalog = build_catalog(load_catalog)
|
31
|
-
catalog.to_multiwoven_message
|
32
|
-
rescue StandardError => e
|
33
|
-
handle_exception("TALLY:DISCOVER:EXCEPTION", "error", e)
|
34
|
-
end
|
35
|
-
|
36
|
-
def write(sync_config, records, action = "create")
|
37
|
-
@action = sync_config.stream.action || action
|
38
|
-
initialize_client(sync_config.destination.connection_specification)
|
39
|
-
process_records(records, sync_config.stream)
|
40
|
-
rescue StandardError => e
|
41
|
-
handle_exception("TALLY:WRITE:EXCEPTION", "error", e)
|
42
|
-
end
|
43
|
-
|
44
|
-
private
|
45
|
-
|
46
|
-
def initialize_client(config)
|
47
|
-
config = config.with_indifferent_access
|
48
|
-
@tally_url = config[:tally_url]
|
49
|
-
@company_name = config[:company_name]
|
50
|
-
end
|
51
|
-
|
52
|
-
def process_records(records, stream)
|
53
|
-
write_success = 0
|
54
|
-
write_failure = 0
|
55
|
-
properties = stream.json_schema[:properties]
|
56
|
-
records.each do |record_object|
|
57
|
-
record = extract_data(record_object, properties)
|
58
|
-
xml_payload = convert_to_xml(record) # Convert record to XML
|
59
|
-
process_record(xml_payload)
|
60
|
-
write_success += 1
|
61
|
-
rescue StandardError => e
|
62
|
-
handle_exception("TALLY:WRITE:EXCEPTION", "error", e)
|
63
|
-
write_failure += 1
|
64
|
-
end
|
65
|
-
tracking_message(write_success, write_failure)
|
66
|
-
end
|
67
|
-
|
68
|
-
def process_record(xml_payload)
|
69
|
-
send_data_to_tally(xml_payload)
|
70
|
-
end
|
71
|
-
|
72
|
-
def send_data_to_tally(xml_payload = {})
|
73
|
-
uri = URI.parse("#{@tally_url}/#{@company_name}")
|
74
|
-
request = Net::HTTP::Post.new(uri)
|
75
|
-
request.content_type = 'application/xml' # Tally uses XML format
|
76
|
-
request.body = xml_payload
|
77
|
-
response = Net::HTTP.start(uri.hostname, uri.port) { |http| http.request(request) }
|
78
|
-
|
79
|
-
raise StandardError, response.body unless response.is_a?(Net::HTTPSuccess)
|
80
|
-
end
|
81
|
-
|
82
|
-
def convert_to_xml(record)
|
83
|
-
# Using Builder gem to create XML structure
|
84
|
-
xml = Builder::XmlMarkup.new
|
85
|
-
xml.instruct! :xml, version: '1.0', encoding: 'UTF-8'
|
86
|
-
xml.ENVELOPE do
|
87
|
-
xml.HEADER do
|
88
|
-
xml.TALLYREQUEST 'Import Data'
|
89
|
-
end
|
90
|
-
xml.BODY do
|
91
|
-
xml.IMPORTDATA do
|
92
|
-
xml.REQUESTDESC do
|
93
|
-
xml.REPORTNAME 'Vouchers'
|
94
|
-
xml.STATICVARIABLES do
|
95
|
-
xml.SVCURRENTCOMPANY @company_name
|
96
|
-
end
|
97
|
-
end
|
98
|
-
xml.REQUESTDATA do
|
99
|
-
xml.TALLYMESSAGE('xmlns:UDF' => 'TallyUDF') do
|
100
|
-
xml.VOUCHER do
|
101
|
-
xml.DATE '20240915' # Static or dynamic date
|
102
|
-
xml.VOUCHERTYPENAME 'Sales'
|
103
|
-
xml.NARRATION 'Test invoice from ETL Tool'
|
104
|
-
xml.VOUCHERNUMBER record[:VOUCHERNUMBER] || 'INV-1002'
|
105
|
-
xml.PARTYNAME record[:PARTYNAME] || 'XYZ Ltd'
|
106
|
-
xml.AMOUNT record[:AMOUNT] || 10000
|
107
|
-
xml.LEDGERENTRIES__LIST do
|
108
|
-
xml.LEDGERNAME 'Sales Account'
|
109
|
-
xml.AMOUNT record[:AMOUNT] || 10000
|
110
|
-
end
|
111
|
-
end
|
112
|
-
end
|
113
|
-
end
|
114
|
-
end
|
115
|
-
end
|
116
|
-
end
|
117
|
-
xml.target! # Returns the generated XML string
|
118
|
-
end
|
119
|
-
|
120
|
-
def authenticate_client
|
121
|
-
# Tally may not need specific authentication steps like OAuth;
|
122
|
-
# skipping authentication or implementing basic connection validation.
|
123
|
-
true
|
124
|
-
end
|
125
|
-
|
126
|
-
def success_status
|
127
|
-
ConnectionStatus.new(status: ConnectionStatusType["succeeded"]).to_multiwoven_message
|
128
|
-
end
|
129
|
-
|
130
|
-
def failure_status(error)
|
131
|
-
ConnectionStatus.new(status: ConnectionStatusType["failed"], message: error.message).to_multiwoven_message
|
132
|
-
end
|
133
|
-
|
134
|
-
def load_catalog
|
135
|
-
read_json(CATALOG_SPEC_PATH)
|
136
|
-
end
|
137
|
-
|
138
|
-
def tracking_message(success, failure)
|
139
|
-
Multiwoven::Integrations::Protocol::TrackingMessage.new(
|
140
|
-
success: success, failed: failure
|
141
|
-
).to_multiwoven_message
|
142
|
-
end
|
143
|
-
|
144
|
-
def log_debug(message)
|
145
|
-
Multiwoven::Integrations::Service.logger.debug(message)
|
146
|
-
end
|
147
|
-
end
|
148
|
-
end
|
149
|
-
end
|
150
|
-
end
|
151
|
-
end
|
@@ -1,65 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require_relative "lib/multiwoven/integrations/rollout"
|
4
|
-
|
5
|
-
Gem::Specification.new do |spec|
|
6
|
-
spec.name = "etl-integrations"
|
7
|
-
spec.version = Multiwoven::Integrations::VERSION
|
8
|
-
spec.authors = ["Anas Ahmed"]
|
9
|
-
spec.email = ["anas31197@gmail.com"]
|
10
|
-
|
11
|
-
spec.summary = "Integration suite for open source reverse ETL platform"
|
12
|
-
spec.description = "Etl Integrations is a comprehensive Ruby gem designed to facilitate seamless connectivity between various data sources and SaaS platforms."
|
13
|
-
|
14
|
-
spec.homepage = "https://www.github.com/"
|
15
|
-
spec.license = "MIT"
|
16
|
-
spec.required_ruby_version = ">= 2.6.0"
|
17
|
-
|
18
|
-
# spec.metadata["allowed_push_host"] = nil
|
19
|
-
spec.metadata["github_repo"] = "https://github.com/anasValign/etl-tool"
|
20
|
-
spec.metadata["homepage_uri"] = spec.homepage
|
21
|
-
spec.metadata["source_code_uri"] = "https://github.com/anasValign/etl-tool/tree/main/integrations"
|
22
|
-
spec.metadata["changelog_uri"] = "https://github.com/anasValign/etl-tool/blob/main/integrations/CHANGELOG.md"
|
23
|
-
|
24
|
-
# Specify which files should be added to the gem when it is released.
|
25
|
-
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
|
26
|
-
spec.files = Dir.chdir(__dir__) do
|
27
|
-
`git ls-files -z`.split("\x0").reject do |f|
|
28
|
-
(File.expand_path(f) == __FILE__) ||
|
29
|
-
f.start_with?(*%w[bin/ test/ spec/ features/ .git .circleci appveyor Gemfile])
|
30
|
-
end
|
31
|
-
end
|
32
|
-
spec.bindir = "exe"
|
33
|
-
spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
|
34
|
-
spec.require_paths = ["lib"]
|
35
|
-
|
36
|
-
spec.add_runtime_dependency "activesupport"
|
37
|
-
spec.add_runtime_dependency "async-websocket"
|
38
|
-
spec.add_runtime_dependency "csv"
|
39
|
-
spec.add_runtime_dependency "dry-schema"
|
40
|
-
spec.add_runtime_dependency "dry-struct"
|
41
|
-
spec.add_runtime_dependency "dry-types"
|
42
|
-
spec.add_runtime_dependency "git"
|
43
|
-
spec.add_runtime_dependency "google-apis-sheets_v4"
|
44
|
-
spec.add_runtime_dependency "google-cloud-bigquery"
|
45
|
-
spec.add_runtime_dependency "hubspot-api-client"
|
46
|
-
spec.add_runtime_dependency "net-sftp"
|
47
|
-
spec.add_runtime_dependency "pg"
|
48
|
-
spec.add_runtime_dependency "rake"
|
49
|
-
spec.add_runtime_dependency "restforce"
|
50
|
-
spec.add_runtime_dependency "ruby-limiter"
|
51
|
-
spec.add_runtime_dependency "ruby-odbc"
|
52
|
-
spec.add_runtime_dependency "sequel"
|
53
|
-
spec.add_runtime_dependency "slack-ruby-client"
|
54
|
-
spec.add_runtime_dependency "stripe"
|
55
|
-
|
56
|
-
spec.add_development_dependency "byebug"
|
57
|
-
spec.add_development_dependency "rspec"
|
58
|
-
spec.add_development_dependency "rubocop"
|
59
|
-
spec.add_development_dependency "simplecov"
|
60
|
-
spec.add_development_dependency "simplecov_json_formatter"
|
61
|
-
spec.add_development_dependency "webmock"
|
62
|
-
|
63
|
-
# For more information and examples about making a new gem, check out our
|
64
|
-
# guide at: https://bundler.io/guides/creating_gem.html
|
65
|
-
end
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
/data/lib/{multiwoven → etl}/integrations/destination/facebook_custom_audience/config/catalog.json
RENAMED
File without changes
|
/data/lib/{multiwoven → etl}/integrations/destination/facebook_custom_audience/config/meta.json
RENAMED
File without changes
|
/data/lib/{multiwoven → etl}/integrations/destination/facebook_custom_audience/config/spec.json
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
/data/lib/{multiwoven → etl}/integrations/destination/salesforce_consumer_goods_cloud/icon.svg
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|