workarea-emarsys 1.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (114) hide show
  1. checksums.yaml +7 -0
  2. data/.editorconfig +20 -0
  3. data/.github/ISSUE_TEMPLATE/bug_report.md +37 -0
  4. data/.github/ISSUE_TEMPLATE/documentation-request.md +17 -0
  5. data/.github/ISSUE_TEMPLATE/feature_request.md +20 -0
  6. data/.gitignore +22 -0
  7. data/CHANGELOG.md +28 -0
  8. data/CODE_OF_CONDUCT.md +3 -0
  9. data/CONTRIBUTING.md +3 -0
  10. data/Gemfile +12 -0
  11. data/LICENSE +52 -0
  12. data/LICENSE.md +3 -0
  13. data/README.md +93 -0
  14. data/Rakefile +60 -0
  15. data/app/assets/images/emarsys/.keep +0 -0
  16. data/app/assets/javascripts/emarsys/.keep +0 -0
  17. data/app/assets/javascripts/workarea/storefront/emarsys/modules/web_extend_adapter.js +128 -0
  18. data/app/assets/stylesheets/emarsys/.keep +0 -0
  19. data/app/controllers/.keep +0 -0
  20. data/app/controllers/workarea/admin/configurations_controller.rb +33 -0
  21. data/app/controllers/workarea/storefront/email_signups_controller.decorator +16 -0
  22. data/app/controllers/workarea/storefront/users/addresses_controller.decorator +13 -0
  23. data/app/helpers/.keep +0 -0
  24. data/app/helpers/workarea/storefront/emarsys_analytics_helper.rb +13 -0
  25. data/app/lib/workarea/emarsys/bogus_gateway.rb +36 -0
  26. data/app/lib/workarea/emarsys/gateway.rb +94 -0
  27. data/app/lib/workarea/emarsys/response.rb +18 -0
  28. data/app/lib/workarea/emarsys/sales_data_bogus_gateway.rb +29 -0
  29. data/app/lib/workarea/emarsys/sales_data_gateway.rb +51 -0
  30. data/app/models/emarsys/configuration.rb +16 -0
  31. data/app/models/emarsys/country.rb +220 -0
  32. data/app/models/workarea/email/signup.decorator +8 -0
  33. data/app/models/workarea/order.decorator +8 -0
  34. data/app/models/workarea/user.decorator +8 -0
  35. data/app/services/emarsys/contact/order.rb +31 -0
  36. data/app/services/emarsys/contact/user.rb +25 -0
  37. data/app/services/emarsys/contact.rb +55 -0
  38. data/app/view_models/workarea/admin/emarsys_configuration_view_model.rb +20 -0
  39. data/app/views/workarea/admin/emarsys/configurations/edit.html.haml +68 -0
  40. data/app/views/workarea/admin/shared/_emarsys_configuration_link.html.haml +1 -0
  41. data/app/views/workarea/storefront/_emarsys_tracking.html.haml +11 -0
  42. data/app/views/workarea/storefront/emarsys/_current_user_emarsys_cart.json.jbuilder +6 -0
  43. data/app/workers/workarea/emarsys/save_email_signup.rb +40 -0
  44. data/app/workers/workarea/emarsys/save_order.rb +32 -0
  45. data/app/workers/workarea/emarsys/save_user.rb +44 -0
  46. data/app/workers/workarea/emarsys/sync_orders.rb +50 -0
  47. data/bin/rails +20 -0
  48. data/config/initializers/appends.rb +19 -0
  49. data/config/initializers/scheduled_jobs.rb +6 -0
  50. data/config/initializers/workarea.rb +16 -0
  51. data/config/locales/en.yml +28 -0
  52. data/config/routes.rb +7 -0
  53. data/lib/workarea/emarsys/engine.rb +12 -0
  54. data/lib/workarea/emarsys/version.rb +5 -0
  55. data/lib/workarea/emarsys.rb +59 -0
  56. data/test/dummy/Rakefile +6 -0
  57. data/test/dummy/app/assets/config/manifest.js +4 -0
  58. data/test/dummy/app/assets/images/.keep +0 -0
  59. data/test/dummy/app/assets/javascripts/application.js +13 -0
  60. data/test/dummy/app/assets/stylesheets/application.css +15 -0
  61. data/test/dummy/app/controllers/application_controller.rb +3 -0
  62. data/test/dummy/app/controllers/concerns/.keep +0 -0
  63. data/test/dummy/app/helpers/application_helper.rb +2 -0
  64. data/test/dummy/app/jobs/application_job.rb +2 -0
  65. data/test/dummy/app/mailers/application_mailer.rb +4 -0
  66. data/test/dummy/app/models/concerns/.keep +0 -0
  67. data/test/dummy/app/views/layouts/application.html.erb +14 -0
  68. data/test/dummy/app/views/layouts/mailer.html.erb +13 -0
  69. data/test/dummy/app/views/layouts/mailer.text.erb +1 -0
  70. data/test/dummy/bin/bundle +3 -0
  71. data/test/dummy/bin/rails +4 -0
  72. data/test/dummy/bin/rake +4 -0
  73. data/test/dummy/bin/setup +30 -0
  74. data/test/dummy/bin/update +26 -0
  75. data/test/dummy/bin/yarn +11 -0
  76. data/test/dummy/config/application.rb +30 -0
  77. data/test/dummy/config/boot.rb +5 -0
  78. data/test/dummy/config/cable.yml +10 -0
  79. data/test/dummy/config/environment.rb +5 -0
  80. data/test/dummy/config/environments/development.rb +51 -0
  81. data/test/dummy/config/environments/production.rb +88 -0
  82. data/test/dummy/config/environments/test.rb +44 -0
  83. data/test/dummy/config/initializers/application_controller_renderer.rb +8 -0
  84. data/test/dummy/config/initializers/assets.rb +14 -0
  85. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  86. data/test/dummy/config/initializers/cookies_serializer.rb +5 -0
  87. data/test/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  88. data/test/dummy/config/initializers/inflections.rb +16 -0
  89. data/test/dummy/config/initializers/mime_types.rb +4 -0
  90. data/test/dummy/config/initializers/workarea.rb +5 -0
  91. data/test/dummy/config/initializers/wrap_parameters.rb +9 -0
  92. data/test/dummy/config/locales/en.yml +33 -0
  93. data/test/dummy/config/puma.rb +56 -0
  94. data/test/dummy/config/routes.rb +5 -0
  95. data/test/dummy/config/secrets.yml +32 -0
  96. data/test/dummy/config/spring.rb +6 -0
  97. data/test/dummy/config.ru +5 -0
  98. data/test/dummy/db/seeds.rb +2 -0
  99. data/test/dummy/lib/assets/.keep +0 -0
  100. data/test/dummy/log/.keep +0 -0
  101. data/test/integration/workarea/admin/emarsys_configuration_integration_test.rb +25 -0
  102. data/test/lib/workarea/emarsys/gateway_test.rb +26 -0
  103. data/test/services/emarsys/contact_test.rb +44 -0
  104. data/test/support/workarea/emarsys_api_config.rb +19 -0
  105. data/test/system/workarea/storefront/emarsys_tracking_system_test.rb +25 -0
  106. data/test/teaspoon_env.rb +6 -0
  107. data/test/test_helper.rb +10 -0
  108. data/test/vcr_cassettes/emarsys/add_contact.yml +67 -0
  109. data/test/vcr_cassettes/emarsys/get_contact.yml +129 -0
  110. data/test/vcr_cassettes/emarsys/sales/send_data.yml +42 -0
  111. data/test/workers/workarea/emarsys/save_user_test.rb +30 -0
  112. data/test/workers/workarea/emarsys/sync_orders_test.rb +38 -0
  113. data/workarea-emarsys.gemspec +24 -0
  114. metadata +211 -0
@@ -0,0 +1,129 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: put
5
+ uri: https://api-proxy.s.emarsys.com/api/v2/internal/215861890/contact/?create_if_not_exists=1
6
+ body:
7
+ encoding: UTF-8
8
+ string: '{"contacts":[{"3":"jyucis-emarsys-get@workarea.com"}]}'
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v0.15.4
12
+ Content-Type:
13
+ - application/json
14
+ X-Ems-Date:
15
+ - 20190313T195319Z
16
+ X-Ems-Auth:
17
+ - EMS-HMAC-SHA256 Credential=suite_workarea_v1/20190313/eu/suite/ems_request,
18
+ SignedHeaders=host;x-ems-date, Signature=b
19
+ Accept-Encoding:
20
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
21
+ Accept:
22
+ - "*/*"
23
+ response:
24
+ status:
25
+ code: 200
26
+ message: OK
27
+ headers:
28
+ Cache-Control:
29
+ - max-age=0, no-cache, no-store, must-revalidate
30
+ Content-Length:
31
+ - '76'
32
+ Content-Type:
33
+ - application/json
34
+ Date:
35
+ - Wed, 13 Mar 2019 19:53:20 GMT
36
+ Pragma:
37
+ - no-cache
38
+ Server:
39
+ - openresty/1.11.2.1
40
+ Strict-Transport-Security:
41
+ - max-age=86400; includeSubDomains; preload
42
+ Vary:
43
+ - Accept-Encoding
44
+ Via:
45
+ - kong/0.14.1
46
+ X-Emarsys-Request-Id:
47
+ - 71e137ab-b703-4f06-8a33-acf9b8a1097a#4171
48
+ X-Fe:
49
+ - suitesapipxy01.emarsys.at
50
+ X-Kong-Proxy-Latency:
51
+ - '17'
52
+ X-Kong-Upstream-Latency:
53
+ - '697'
54
+ X-Ratelimit-Limit:
55
+ - '200'
56
+ X-Ratelimit-Remaining:
57
+ - '199'
58
+ X-Ratelimit-Reset:
59
+ - '1552506840'
60
+ X-Suite-Response-Time:
61
+ - '655'
62
+ body:
63
+ encoding: ASCII-8BIT
64
+ string: '{"replyCode":0,"replyText":"OK","data":{"ids":["504947875"]}}'
65
+ http_version:
66
+ recorded_at: Wed, 13 Mar 2019 19:53:20 GMT
67
+ - request:
68
+ method: post
69
+ uri: https://api-proxy.s.emarsys.com/api/v2/internal/215861890/contact/getdata
70
+ body:
71
+ encoding: UTF-8
72
+ string: '{"keyID":"3","keyValues":["jyucis-emarsys-get@workarea.com"],"fields":null}'
73
+ headers:
74
+ User-Agent:
75
+ - Faraday v0.15.4
76
+ Content-Type:
77
+ - application/json
78
+ X-Ems-Date:
79
+ - 20190313T195320Z
80
+ X-Ems-Auth:
81
+ - EMS-HMAC-SHA256 Credential=suite_workarea_v1/20190313/eu/suite/ems_request,
82
+ SignedHeaders=host;x-ems-date, Signature=ed8e9505a29c80fbf411f09c9903943a9b2e8af0e5de9221daaccfd588b67a7a
83
+ Accept-Encoding:
84
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
85
+ Accept:
86
+ - "*/*"
87
+ response:
88
+ status:
89
+ code: 400
90
+ message: Bad Request
91
+ headers:
92
+ Cache-Control:
93
+ - max-age=0, no-cache, no-store, must-revalidate
94
+ Content-Length:
95
+ - '79'
96
+ Content-Type:
97
+ - application/json
98
+ Date:
99
+ - Wed, 13 Mar 2019 19:53:21 GMT
100
+ Pragma:
101
+ - no-cache
102
+ Server:
103
+ - openresty/1.11.2.1
104
+ Strict-Transport-Security:
105
+ - max-age=86400; includeSubDomains; preload
106
+ Vary:
107
+ - Accept-Encoding
108
+ Via:
109
+ - kong/0.14.1
110
+ X-Emarsys-Request-Id:
111
+ - 71e137ab-b703-4f06-8a33-acf9b8a1097a#4172
112
+ X-Kong-Proxy-Latency:
113
+ - '26'
114
+ X-Kong-Upstream-Latency:
115
+ - '62'
116
+ X-Ratelimit-Limit:
117
+ - '200'
118
+ X-Ratelimit-Remaining:
119
+ - '198'
120
+ X-Ratelimit-Reset:
121
+ - '1552506840'
122
+ X-Suite-Response-Time:
123
+ - '21'
124
+ body:
125
+ encoding: ASCII-8BIT
126
+ string: '{"replyCode":2004,"replyText":"Invalid key field id: ","data":""}'
127
+ http_version:
128
+ recorded_at: Wed, 13 Mar 2019 19:53:21 GMT
129
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,42 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://admin.scarabresearch.com/hapi/merchant/19CAA097101B372A/sales-data/api
6
+ body:
7
+ encoding: UTF-8
8
+ string: |
9
+ order,email,item,price,quantity,timestamp
10
+ 1234,bcrouse-new@workarea.com,SKU,10.00,2,2019-04-05T14:38:40Z
11
+ headers:
12
+ Content-Type:
13
+ - text/csv
14
+ Accept:
15
+ - text/plain
16
+ Authorization:
17
+ - Bearer c
18
+ User-Agent:
19
+ - Faraday v0.15.4
20
+ Accept-Encoding:
21
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
22
+ response:
23
+ status:
24
+ code: 200
25
+ message: OK
26
+ headers:
27
+ Content-Type:
28
+ - text/plain
29
+ Server:
30
+ - Jetty(9.2.17.v20160517)
31
+ Content-Length:
32
+ - '16'
33
+ Connection:
34
+ - keep-alive
35
+ body:
36
+ encoding: UTF-8
37
+ string: 'Upload accepted
38
+
39
+ '
40
+ http_version:
41
+ recorded_at: Fri, 05 Apr 2019 14:38:41 GMT
42
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,30 @@
1
+ require 'test_helper'
2
+
3
+ module Workarea
4
+ class Emarsys::SaveUserTest < TestCase
5
+
6
+ def test_save_user_sets_time_stamp
7
+ Workarea::Emarsys::Configuration.create(customer_id: '1234')
8
+ user = create_user
9
+
10
+ Workarea::Emarsys::SaveUser.new.perform(user.id)
11
+
12
+ user.reload
13
+
14
+ assert(user.emarsys_exported_at.present?)
15
+ assert(user.emarsys_external_id.present?)
16
+ end
17
+
18
+ def test_save_user_does_nothing_without_customer_id_set
19
+ Workarea::Emarsys::Configuration.create(customer_id: nil)
20
+ user = create_user
21
+
22
+ Workarea::Emarsys::SaveUser.new.perform(user.id)
23
+
24
+ user.reload
25
+
26
+ refute(user.emarsys_exported_at.present?)
27
+ refute(user.emarsys_external_id.present?)
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,38 @@
1
+ require 'test_helper'
2
+
3
+ module Workarea
4
+ class Emarsys::SyncOrdersTest < TestCase
5
+ include EmarsysApiConfig
6
+
7
+ def test_sync_orders_sends_file
8
+ VCR.use_cassette("emarsys/sales/send_data", match_requests_on: [:method, :uri]) do
9
+ Workarea.with_config do |config|
10
+ merchant_id = Workarea::Emarsys::Configuration.create!(merchant_id: "19CAA097101B372A").merchant_id
11
+
12
+ api_url = "https://admin.scarabresearch.com/hapi/merchant/#{merchant_id}/sales-data/api"
13
+
14
+ config.emarsys.merchant_id = merchant_id
15
+
16
+ create_placed_order
17
+
18
+ Workarea::Emarsys::SyncOrders.new.perform
19
+
20
+ assert_requested :post, api_url
21
+ end
22
+ end
23
+ end
24
+
25
+ def test_sync_orders_sends_nothing_when_no_orders
26
+ Workarea.with_config do |config|
27
+ merchant_id = Workarea::Emarsys::Configuration.create!(merchant_id: "19CAA097101B372A").merchant_id
28
+ api_url = "https://admin.scarabresearch.com/hapi/merchant/#{merchant_id}/sales-data/api"
29
+
30
+ config.emarsys.merchant_id = merchant_id
31
+
32
+ Workarea::Emarsys::SyncOrders.new.perform
33
+
34
+ refute_requested :post, api_url
35
+ end
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,24 @@
1
+ $:.push File.expand_path("../lib", __FILE__)
2
+
3
+ # Maintain your gem's version:
4
+ require "workarea/emarsys/version"
5
+
6
+ # Describe your gem and declare its dependencies:
7
+ Gem::Specification.new do |s|
8
+ s.name = "workarea-emarsys"
9
+ s.version = Workarea::Emarsys::VERSION
10
+ s.authors = ["Jeff Yucis"]
11
+ s.email = ["jyucis@weblinc.com"]
12
+ s.homepage = "https://github.com/workarea-commerce/workarea-emarsys"
13
+ s.summary = "Emarsys email service provider"
14
+ s.description = "Workarea Integration with Emarsys"
15
+
16
+ s.files = `git ls-files`.split("\n")
17
+
18
+ s.license = 'Business Software License'
19
+
20
+ s.add_dependency 'workarea', '~> 3.x'
21
+ s.add_dependency 'workarea-google_product_feed', '~> 3.x'
22
+ s.add_dependency "escher"
23
+ s.add_dependency "faraday", "~> 0.10"
24
+ end
metadata ADDED
@@ -0,0 +1,211 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: workarea-emarsys
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.2
5
+ platform: ruby
6
+ authors:
7
+ - Jeff Yucis
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2019-08-22 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: workarea
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: 3.x
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: 3.x
27
+ - !ruby/object:Gem::Dependency
28
+ name: workarea-google_product_feed
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: 3.x
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: 3.x
41
+ - !ruby/object:Gem::Dependency
42
+ name: escher
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: faraday
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '0.10'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '0.10'
69
+ description: Workarea Integration with Emarsys
70
+ email:
71
+ - jyucis@weblinc.com
72
+ executables: []
73
+ extensions: []
74
+ extra_rdoc_files: []
75
+ files:
76
+ - ".editorconfig"
77
+ - ".github/ISSUE_TEMPLATE/bug_report.md"
78
+ - ".github/ISSUE_TEMPLATE/documentation-request.md"
79
+ - ".github/ISSUE_TEMPLATE/feature_request.md"
80
+ - ".gitignore"
81
+ - CHANGELOG.md
82
+ - CODE_OF_CONDUCT.md
83
+ - CONTRIBUTING.md
84
+ - Gemfile
85
+ - LICENSE
86
+ - LICENSE.md
87
+ - README.md
88
+ - Rakefile
89
+ - app/assets/images/emarsys/.keep
90
+ - app/assets/javascripts/emarsys/.keep
91
+ - app/assets/javascripts/workarea/storefront/emarsys/modules/web_extend_adapter.js
92
+ - app/assets/stylesheets/emarsys/.keep
93
+ - app/controllers/.keep
94
+ - app/controllers/workarea/admin/configurations_controller.rb
95
+ - app/controllers/workarea/storefront/email_signups_controller.decorator
96
+ - app/controllers/workarea/storefront/users/addresses_controller.decorator
97
+ - app/helpers/.keep
98
+ - app/helpers/workarea/storefront/emarsys_analytics_helper.rb
99
+ - app/lib/workarea/emarsys/bogus_gateway.rb
100
+ - app/lib/workarea/emarsys/gateway.rb
101
+ - app/lib/workarea/emarsys/response.rb
102
+ - app/lib/workarea/emarsys/sales_data_bogus_gateway.rb
103
+ - app/lib/workarea/emarsys/sales_data_gateway.rb
104
+ - app/models/emarsys/configuration.rb
105
+ - app/models/emarsys/country.rb
106
+ - app/models/workarea/email/signup.decorator
107
+ - app/models/workarea/order.decorator
108
+ - app/models/workarea/user.decorator
109
+ - app/services/emarsys/contact.rb
110
+ - app/services/emarsys/contact/order.rb
111
+ - app/services/emarsys/contact/user.rb
112
+ - app/view_models/workarea/admin/emarsys_configuration_view_model.rb
113
+ - app/views/workarea/admin/emarsys/configurations/edit.html.haml
114
+ - app/views/workarea/admin/shared/_emarsys_configuration_link.html.haml
115
+ - app/views/workarea/storefront/_emarsys_tracking.html.haml
116
+ - app/views/workarea/storefront/emarsys/_current_user_emarsys_cart.json.jbuilder
117
+ - app/workers/workarea/emarsys/save_email_signup.rb
118
+ - app/workers/workarea/emarsys/save_order.rb
119
+ - app/workers/workarea/emarsys/save_user.rb
120
+ - app/workers/workarea/emarsys/sync_orders.rb
121
+ - bin/rails
122
+ - config/initializers/appends.rb
123
+ - config/initializers/scheduled_jobs.rb
124
+ - config/initializers/workarea.rb
125
+ - config/locales/en.yml
126
+ - config/routes.rb
127
+ - lib/workarea/emarsys.rb
128
+ - lib/workarea/emarsys/engine.rb
129
+ - lib/workarea/emarsys/version.rb
130
+ - test/dummy/Rakefile
131
+ - test/dummy/app/assets/config/manifest.js
132
+ - test/dummy/app/assets/images/.keep
133
+ - test/dummy/app/assets/javascripts/application.js
134
+ - test/dummy/app/assets/stylesheets/application.css
135
+ - test/dummy/app/controllers/application_controller.rb
136
+ - test/dummy/app/controllers/concerns/.keep
137
+ - test/dummy/app/helpers/application_helper.rb
138
+ - test/dummy/app/jobs/application_job.rb
139
+ - test/dummy/app/mailers/application_mailer.rb
140
+ - test/dummy/app/models/concerns/.keep
141
+ - test/dummy/app/views/layouts/application.html.erb
142
+ - test/dummy/app/views/layouts/mailer.html.erb
143
+ - test/dummy/app/views/layouts/mailer.text.erb
144
+ - test/dummy/bin/bundle
145
+ - test/dummy/bin/rails
146
+ - test/dummy/bin/rake
147
+ - test/dummy/bin/setup
148
+ - test/dummy/bin/update
149
+ - test/dummy/bin/yarn
150
+ - test/dummy/config.ru
151
+ - test/dummy/config/application.rb
152
+ - test/dummy/config/boot.rb
153
+ - test/dummy/config/cable.yml
154
+ - test/dummy/config/environment.rb
155
+ - test/dummy/config/environments/development.rb
156
+ - test/dummy/config/environments/production.rb
157
+ - test/dummy/config/environments/test.rb
158
+ - test/dummy/config/initializers/application_controller_renderer.rb
159
+ - test/dummy/config/initializers/assets.rb
160
+ - test/dummy/config/initializers/backtrace_silencers.rb
161
+ - test/dummy/config/initializers/cookies_serializer.rb
162
+ - test/dummy/config/initializers/filter_parameter_logging.rb
163
+ - test/dummy/config/initializers/inflections.rb
164
+ - test/dummy/config/initializers/mime_types.rb
165
+ - test/dummy/config/initializers/workarea.rb
166
+ - test/dummy/config/initializers/wrap_parameters.rb
167
+ - test/dummy/config/locales/en.yml
168
+ - test/dummy/config/puma.rb
169
+ - test/dummy/config/routes.rb
170
+ - test/dummy/config/secrets.yml
171
+ - test/dummy/config/spring.rb
172
+ - test/dummy/db/seeds.rb
173
+ - test/dummy/lib/assets/.keep
174
+ - test/dummy/log/.keep
175
+ - test/integration/workarea/admin/emarsys_configuration_integration_test.rb
176
+ - test/lib/workarea/emarsys/gateway_test.rb
177
+ - test/services/emarsys/contact_test.rb
178
+ - test/support/workarea/emarsys_api_config.rb
179
+ - test/system/workarea/storefront/emarsys_tracking_system_test.rb
180
+ - test/teaspoon_env.rb
181
+ - test/test_helper.rb
182
+ - test/vcr_cassettes/emarsys/add_contact.yml
183
+ - test/vcr_cassettes/emarsys/get_contact.yml
184
+ - test/vcr_cassettes/emarsys/sales/send_data.yml
185
+ - test/workers/workarea/emarsys/save_user_test.rb
186
+ - test/workers/workarea/emarsys/sync_orders_test.rb
187
+ - workarea-emarsys.gemspec
188
+ homepage: https://github.com/workarea-commerce/workarea-emarsys
189
+ licenses:
190
+ - Business Software License
191
+ metadata: {}
192
+ post_install_message:
193
+ rdoc_options: []
194
+ require_paths:
195
+ - lib
196
+ required_ruby_version: !ruby/object:Gem::Requirement
197
+ requirements:
198
+ - - ">="
199
+ - !ruby/object:Gem::Version
200
+ version: '0'
201
+ required_rubygems_version: !ruby/object:Gem::Requirement
202
+ requirements:
203
+ - - ">="
204
+ - !ruby/object:Gem::Version
205
+ version: '0'
206
+ requirements: []
207
+ rubygems_version: 3.0.4
208
+ signing_key:
209
+ specification_version: 4
210
+ summary: Emarsys email service provider
211
+ test_files: []