workarea-mail_chimp 3.0.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 +7 -0
- data/.editorconfig +15 -0
- data/.gitignore +55 -0
- data/.markdownlint.json +10 -0
- data/.rails-rubocop.yml +119 -0
- data/.rubocop.yml +8 -0
- data/.scss-lint.yml +188 -0
- data/CHANGELOG.md +244 -0
- data/Gemfile +9 -0
- data/README.md +115 -0
- data/Rakefile +53 -0
- data/app/assets/javascripts/workarea/storefront/mail_chimp/mail_chimp_tracking.js +15 -0
- data/app/controllers/workarea/storefront/application_controller.decorator +11 -0
- data/app/controllers/workarea/storefront/cart_items_controller.decorator +18 -0
- data/app/controllers/workarea/storefront/checkout/addresses_controller.decorator +13 -0
- data/app/controllers/workarea/storefront/checkout/shipping_controller.decorator +13 -0
- data/app/controllers/workarea/storefront/users/accounts_controller.decorator +37 -0
- data/app/models/workarea/catalog/product.decorator +7 -0
- data/app/models/workarea/mail_chimp/group.rb +39 -0
- data/app/models/workarea/mail_chimp/store.rb +26 -0
- data/app/models/workarea/order.decorator +9 -0
- data/app/models/workarea/user.decorator +31 -0
- data/app/services/workarea/mail_chimp/address.rb +28 -0
- data/app/services/workarea/mail_chimp/cart.rb +78 -0
- data/app/services/workarea/mail_chimp/order.rb +97 -0
- data/app/services/workarea/mail_chimp/product.rb +43 -0
- data/app/services/workarea/mail_chimp/variant.rb +43 -0
- data/app/view_models/workarea/storefront/user_view_model.decorator +16 -0
- data/app/views/workarea/storefront/mail_chimp/_ecommerce_javascript.html.haml +2 -0
- data/app/views/workarea/storefront/users/accounts/_edit.html.haml +12 -0
- data/app/views/workarea/storefront/users/accounts/_email_interests.html.haml +13 -0
- data/app/workers/workarea/mail_chimp/ecommerce/save_cart.rb +40 -0
- data/app/workers/workarea/mail_chimp/ecommerce/save_order.rb +31 -0
- data/app/workers/workarea/mail_chimp/ecommerce/save_product.rb +31 -0
- data/app/workers/workarea/mail_chimp/list_subscriber.rb +30 -0
- data/app/workers/workarea/mail_chimp/list_unsubscriber.rb +22 -0
- data/app/workers/workarea/mail_chimp/subscription_edit.rb +28 -0
- data/bin/rails +19 -0
- data/config/initializers/appends.rb +21 -0
- data/config/initializers/workarea.rb +14 -0
- data/config/locales/en.yml +15 -0
- data/lib/gibbon/request_decorator.rb +10 -0
- data/lib/integrations/workarea/mail_chimp/bogus_api_request.rb +30 -0
- data/lib/integrations/workarea/mail_chimp/bogus_gateway.rb +35 -0
- data/lib/integrations/workarea/mail_chimp/bogus_request.rb +78 -0
- data/lib/integrations/workarea/mail_chimp/gateway.rb +86 -0
- data/lib/integrations/workarea/mail_chimp/gateway/list.rb +47 -0
- data/lib/integrations/workarea/mail_chimp/gateway/members.rb +61 -0
- data/lib/integrations/workarea/mail_chimp/gateway/subscribe_argument_builder.rb +101 -0
- data/lib/tasks/mail_chimp.rake +71 -0
- data/lib/workarea/mail_chimp.rb +72 -0
- data/lib/workarea/mail_chimp/engine.rb +14 -0
- data/lib/workarea/mail_chimp/errors.rb +2 -0
- data/lib/workarea/mail_chimp/tasks/ecommerce.rb +43 -0
- data/lib/workarea/mail_chimp/version.rb +5 -0
- data/script/admin_ci +9 -0
- data/script/ci +11 -0
- data/script/core_ci +9 -0
- data/script/plugins_ci +9 -0
- data/script/storefront_ci +9 -0
- data/test/dummy/Rakefile +6 -0
- data/test/dummy/app/assets/config/manifest.js +4 -0
- data/test/dummy/app/assets/images/.keep +0 -0
- data/test/dummy/app/assets/javascripts/application.js +13 -0
- data/test/dummy/app/assets/stylesheets/application.css +15 -0
- data/test/dummy/app/controllers/application_controller.rb +3 -0
- data/test/dummy/app/controllers/concerns/.keep +0 -0
- data/test/dummy/app/helpers/application_helper.rb +2 -0
- data/test/dummy/app/jobs/application_job.rb +2 -0
- data/test/dummy/app/mailers/application_mailer.rb +4 -0
- data/test/dummy/app/models/concerns/.keep +0 -0
- data/test/dummy/app/views/layouts/application.html.erb +14 -0
- data/test/dummy/app/views/layouts/mailer.html.erb +13 -0
- data/test/dummy/app/views/layouts/mailer.text.erb +1 -0
- data/test/dummy/bin/bundle +3 -0
- data/test/dummy/bin/rails +4 -0
- data/test/dummy/bin/rake +4 -0
- data/test/dummy/bin/setup +34 -0
- data/test/dummy/bin/update +29 -0
- data/test/dummy/config.ru +5 -0
- data/test/dummy/config/application.rb +23 -0
- data/test/dummy/config/boot.rb +5 -0
- data/test/dummy/config/cable.yml +9 -0
- data/test/dummy/config/environment.rb +5 -0
- data/test/dummy/config/environments/development.rb +56 -0
- data/test/dummy/config/environments/production.rb +86 -0
- data/test/dummy/config/environments/test.rb +43 -0
- data/test/dummy/config/initializers/application_controller_renderer.rb +6 -0
- data/test/dummy/config/initializers/assets.rb +11 -0
- data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/test/dummy/config/initializers/cookies_serializer.rb +5 -0
- data/test/dummy/config/initializers/filter_parameter_logging.rb +4 -0
- data/test/dummy/config/initializers/inflections.rb +16 -0
- data/test/dummy/config/initializers/mime_types.rb +4 -0
- data/test/dummy/config/initializers/new_framework_defaults.rb +21 -0
- data/test/dummy/config/initializers/session_store.rb +3 -0
- data/test/dummy/config/initializers/workarea.rb +5 -0
- data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
- data/test/dummy/config/locales/en.yml +23 -0
- data/test/dummy/config/puma.rb +47 -0
- data/test/dummy/config/routes.rb +5 -0
- data/test/dummy/config/secrets.yml +22 -0
- data/test/dummy/config/spring.rb +6 -0
- data/test/dummy/db/seeds.rb +2 -0
- data/test/dummy/lib/assets/.keep +0 -0
- data/test/factories/mail_chimp.rb +50 -0
- data/test/integration/workarea/mailchimp/subscription_test.rb +52 -0
- data/test/integration/workarea/mailchimp/tracking_params_test.rb +50 -0
- data/test/integration/workarea/mailchimp/unsubscribe_test.rb +14 -0
- data/test/integration/workarea/storefront/mail_chimp_order_test.rb +106 -0
- data/test/integration/workarea/storefront/mail_chimp_product_test.rb +51 -0
- data/test/integration/workarea/storefront/mail_chimp_site_javascript_test.rb +25 -0
- data/test/lib/workarea/mailchimp/gateway/list_test.rb +48 -0
- data/test/lib/workarea/mailchimp/gateway_test.rb +196 -0
- data/test/lib/workarea/mailchimp/tasks/ecommerce_test.rb +40 -0
- data/test/services/workarea/mail_chimp/cart_test.rb +44 -0
- data/test/services/workarea/mail_chimp/order_test.rb +50 -0
- data/test/services/workarea/mail_chimp/product_test.rb +29 -0
- data/test/support/workarea/mail_chimp_api_config.rb +33 -0
- data/test/system/workarea/storefront/campaign_tracking_test.rb +14 -0
- data/test/system/workarea/storefront/group_test.rb +33 -0
- data/test/system/workarea/storefront/mail_chimp_accounts_system_test.rb +79 -0
- data/test/test_helper.rb +17 -0
- data/test/vcr_cassettes/get_default_list_interests.yml +104 -0
- data/test/vcr_cassettes/get_member_details_no_match.yml +51 -0
- data/test/vcr_cassettes/get_member_details_unsubscribed.yml +51 -0
- data/test/vcr_cassettes/interest_categories_read.yml +104 -0
- data/test/vcr_cassettes/mail_chimp/tasks/create_store-successful.yml +97 -0
- data/test/vcr_cassettes/mc_order_test.yml +381 -0
- data/test/vcr_cassettes/mc_product_test.yml +234 -0
- data/test/vcr_cassettes/subscribe_to_default_list.yml +254 -0
- data/test/vcr_cassettes/subscribe_to_default_list_interest_groups.yml +254 -0
- data/test/vcr_cassettes/subscribe_to_default_list_with_groupings.yml +254 -0
- data/test/vcr_cassettes/subscribe_to_default_list_with_user_details.yml +254 -0
- data/test/vcr_cassettes/unsubscribe_from_default_list.yml +53 -0
- data/test/vcr_cassettes/update_member_on_default_list_change_email.yml +254 -0
- data/test/vcr_cassettes/update_member_on_default_list_change_groupings.yml +254 -0
- data/test/workers/workarea/mail_chimp/ecommerce/save_cart_test.rb +28 -0
- data/test/workers/workarea/mail_chimp/ecommerce/save_order_test.rb +15 -0
- data/test/workers/workarea/mail_chimp/ecommerce/save_product_test.rb +15 -0
- data/workarea-mail_chimp.gemspec +20 -0
- metadata +212 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: e98e365b898d3a3685ad0c1401c70541626ec92300c06e13abd8b10638e5e946
|
4
|
+
data.tar.gz: 10b5c6bd969ddcf97493d9a9d6f95a581e251ecc1290df35dc047c7eb619245e
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: ad132ab4ce9014638aa274841ba99e9b2e75584b58b00609ba194dc7853f98903199218e69cdd5b32d2494b495ac31c9f4031b96fb5787e3b275a0e80acdf9ad
|
7
|
+
data.tar.gz: f2d608d6919eea817b79378fb9ddd7d0870fb75766a20a0a0277704c655749f3658c8ab749af1ba2904998d854a3de3b9a59645303eeeb8faf0ef5fefa4fe5cc
|
data/.editorconfig
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
# editorconfig.org
|
2
|
+
root = true
|
3
|
+
|
4
|
+
[*]
|
5
|
+
charset = utf-8
|
6
|
+
indent_style = space
|
7
|
+
end_of_line = lf
|
8
|
+
trim_trailing_whitespace = true
|
9
|
+
insert_final_newline = true
|
10
|
+
|
11
|
+
[{*.rb,*.haml}]
|
12
|
+
indent_size = 2
|
13
|
+
|
14
|
+
[{*.js,*.jst,*.ejs,*.scss}]
|
15
|
+
indent_size = 4
|
data/.gitignore
ADDED
@@ -0,0 +1,55 @@
|
|
1
|
+
## ruby
|
2
|
+
.gitkeep
|
3
|
+
.DS_Store
|
4
|
+
*.gem
|
5
|
+
*.rbc
|
6
|
+
/.config
|
7
|
+
/coverage/
|
8
|
+
/InstalledFiles
|
9
|
+
/pkg/
|
10
|
+
/test/reports/
|
11
|
+
/test/examples.txt
|
12
|
+
/test/tmp/
|
13
|
+
/test/version_tmp/
|
14
|
+
/tmp/
|
15
|
+
|
16
|
+
/test/dummy/log/
|
17
|
+
/test/dummy/tmp/
|
18
|
+
/test/dummy/public/
|
19
|
+
.byebug_history
|
20
|
+
|
21
|
+
## Specific to RubyMotion:
|
22
|
+
.dat*
|
23
|
+
.repl_history
|
24
|
+
build/
|
25
|
+
*.bridgesupport
|
26
|
+
build-iPhoneOS/
|
27
|
+
build-iPhoneSimulator/
|
28
|
+
|
29
|
+
## Specific to RubyMotion (use of CocoaPods):
|
30
|
+
#
|
31
|
+
# We recommend against adding the Pods directory to your .gitignore. However
|
32
|
+
# you should judge for yourself, the pros and cons are mentioned at:
|
33
|
+
# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
|
34
|
+
#
|
35
|
+
# vendor/Pods/
|
36
|
+
|
37
|
+
## Documentation cache and generated files:
|
38
|
+
/.yardoc/
|
39
|
+
/_yardoc/
|
40
|
+
/doc/
|
41
|
+
/rdoc/
|
42
|
+
|
43
|
+
## Environment normalization:
|
44
|
+
/.bundle/
|
45
|
+
/vendor/bundle
|
46
|
+
/lib/bundler/man/
|
47
|
+
|
48
|
+
# for a library or gem, you might want to ignore these files since the code is
|
49
|
+
# intended to run in multiple environments; otherwise, check them in:
|
50
|
+
Gemfile.lock
|
51
|
+
.ruby-version
|
52
|
+
# .ruby-gemset
|
53
|
+
|
54
|
+
# unless supporting rvm < 1.11.0 or doing something fancy, ignore this:
|
55
|
+
.rvmrc
|
data/.markdownlint.json
ADDED
data/.rails-rubocop.yml
ADDED
@@ -0,0 +1,119 @@
|
|
1
|
+
AllCops:
|
2
|
+
# RuboCop has a bunch of cops enabled by default. This setting tells RuboCop
|
3
|
+
# to ignore them, so only the ones explicitly set in this file are enabled.
|
4
|
+
DisabledByDefault: true
|
5
|
+
|
6
|
+
# Prefer &&/|| over and/or.
|
7
|
+
Style/AndOr:
|
8
|
+
Enabled: true
|
9
|
+
|
10
|
+
# Do not use braces for hash literals when they are the last argument of a
|
11
|
+
# method call.
|
12
|
+
Style/BracesAroundHashParameters:
|
13
|
+
Enabled: true
|
14
|
+
|
15
|
+
# Align `when` with `case`.
|
16
|
+
Layout/CaseIndentation:
|
17
|
+
Enabled: true
|
18
|
+
|
19
|
+
# Align comments with method definitions.
|
20
|
+
Layout/CommentIndentation:
|
21
|
+
Enabled: true
|
22
|
+
|
23
|
+
# No extra empty lines.
|
24
|
+
Layout/EmptyLines:
|
25
|
+
Enabled: true
|
26
|
+
|
27
|
+
# In a regular class definition, no empty lines around the body.
|
28
|
+
Layout/EmptyLinesAroundClassBody:
|
29
|
+
Enabled: true
|
30
|
+
|
31
|
+
# In a regular method definition, no empty lines around the body.
|
32
|
+
Layout/EmptyLinesAroundMethodBody:
|
33
|
+
Enabled: true
|
34
|
+
|
35
|
+
# In a regular module definition, no empty lines around the body.
|
36
|
+
Layout/EmptyLinesAroundModuleBody:
|
37
|
+
Enabled: true
|
38
|
+
|
39
|
+
# Use Ruby >= 1.9 syntax for hashes. Prefer { a: :b } over { :a => :b }.
|
40
|
+
Style/HashSyntax:
|
41
|
+
Enabled: true
|
42
|
+
|
43
|
+
# Method definitions after `private` or `protected` isolated calls need one
|
44
|
+
# extra level of indentation.
|
45
|
+
Layout/IndentationConsistency:
|
46
|
+
Enabled: true
|
47
|
+
EnforcedStyle: rails
|
48
|
+
|
49
|
+
# Two spaces, no tabs (for indentation).
|
50
|
+
Layout/IndentationWidth:
|
51
|
+
Enabled: true
|
52
|
+
|
53
|
+
Layout/SpaceAfterColon:
|
54
|
+
Enabled: true
|
55
|
+
|
56
|
+
Layout/SpaceAfterComma:
|
57
|
+
Enabled: true
|
58
|
+
|
59
|
+
Layout/SpaceAroundEqualsInParameterDefault:
|
60
|
+
Enabled: true
|
61
|
+
|
62
|
+
Layout/SpaceAroundKeyword:
|
63
|
+
Enabled: true
|
64
|
+
|
65
|
+
Layout/SpaceAroundOperators:
|
66
|
+
Enabled: true
|
67
|
+
|
68
|
+
Layout/SpaceBeforeFirstArg:
|
69
|
+
Enabled: true
|
70
|
+
|
71
|
+
# Defining a method with parameters needs parentheses.
|
72
|
+
Style/MethodDefParentheses:
|
73
|
+
Enabled: true
|
74
|
+
|
75
|
+
# Use `foo {}` not `foo{}`.
|
76
|
+
Layout/SpaceBeforeBlockBraces:
|
77
|
+
Enabled: true
|
78
|
+
|
79
|
+
# Use `foo { bar }` not `foo {bar}`.
|
80
|
+
Layout/SpaceInsideBlockBraces:
|
81
|
+
Enabled: true
|
82
|
+
|
83
|
+
# Use `{ a: 1 }` not `{a:1}`.
|
84
|
+
Layout/SpaceInsideHashLiteralBraces:
|
85
|
+
Enabled: true
|
86
|
+
|
87
|
+
Layout/SpaceInsideParens:
|
88
|
+
Enabled: true
|
89
|
+
|
90
|
+
# Check quotes usage according to lint rule below.
|
91
|
+
Style/StringLiterals:
|
92
|
+
Enabled: true
|
93
|
+
EnforcedStyle: double_quotes
|
94
|
+
|
95
|
+
# Detect hard tabs, no hard tabs.
|
96
|
+
Layout/Tab:
|
97
|
+
Enabled: true
|
98
|
+
|
99
|
+
# Blank lines should not have any spaces.
|
100
|
+
Layout/TrailingBlankLines:
|
101
|
+
Enabled: true
|
102
|
+
|
103
|
+
# No trailing whitespace.
|
104
|
+
Layout/TrailingWhitespace:
|
105
|
+
Enabled: true
|
106
|
+
|
107
|
+
# Use quotes for string literals when they are enough.
|
108
|
+
Style/UnneededPercentQ:
|
109
|
+
Enabled: true
|
110
|
+
|
111
|
+
# Align `end` with the matching keyword or starting expression except for
|
112
|
+
# assignments, where it should be aligned with the LHS.
|
113
|
+
Lint/EndAlignment:
|
114
|
+
Enabled: true
|
115
|
+
EnforcedStyleAlignWith: variable
|
116
|
+
|
117
|
+
# Use my_method(my_arg) not my_method( my_arg ) or my_method my_arg.
|
118
|
+
Lint/RequireParentheses:
|
119
|
+
Enabled: true
|
data/.rubocop.yml
ADDED
data/.scss-lint.yml
ADDED
@@ -0,0 +1,188 @@
|
|
1
|
+
# Extension of the default configuration:
|
2
|
+
# https://github.com/causes/scss-lint/blob/master/config/default.yml
|
3
|
+
|
4
|
+
linters:
|
5
|
+
Comment:
|
6
|
+
enabled: false
|
7
|
+
|
8
|
+
DeclarationOrder:
|
9
|
+
enabled: true
|
10
|
+
|
11
|
+
ElsePlacement:
|
12
|
+
enabled: true
|
13
|
+
style: new_line
|
14
|
+
|
15
|
+
EmptyRule:
|
16
|
+
enabled: false
|
17
|
+
|
18
|
+
HexLength:
|
19
|
+
enabled: true
|
20
|
+
style: long
|
21
|
+
|
22
|
+
Indentation:
|
23
|
+
enabled: true
|
24
|
+
allow_non_nested_indentation: true
|
25
|
+
character: space
|
26
|
+
width: 4
|
27
|
+
|
28
|
+
LeadingZero:
|
29
|
+
enabled: true
|
30
|
+
style: include_zero
|
31
|
+
|
32
|
+
MergeableSelector:
|
33
|
+
enabled: true
|
34
|
+
force_nesting: false
|
35
|
+
|
36
|
+
PropertySortOrder:
|
37
|
+
enabled: true
|
38
|
+
ignore_unspecified: false
|
39
|
+
separate_groups: false
|
40
|
+
order:
|
41
|
+
- display
|
42
|
+
-
|
43
|
+
- position
|
44
|
+
- top
|
45
|
+
- right
|
46
|
+
- bottom
|
47
|
+
- left
|
48
|
+
- z-index
|
49
|
+
-
|
50
|
+
- margin
|
51
|
+
- margin-top
|
52
|
+
- margin-right
|
53
|
+
- margin-bottom
|
54
|
+
- margin-left
|
55
|
+
-
|
56
|
+
- margin-collapse
|
57
|
+
- margin-top-collapse
|
58
|
+
- margin-right-collapse
|
59
|
+
- margin-bottom-collapse
|
60
|
+
- margin-left-collapse
|
61
|
+
-
|
62
|
+
- padding
|
63
|
+
- padding-top
|
64
|
+
- padding-right
|
65
|
+
- padding-bottom
|
66
|
+
- padding-left
|
67
|
+
-
|
68
|
+
- width
|
69
|
+
- height
|
70
|
+
- max-width
|
71
|
+
- max-height
|
72
|
+
- min-width
|
73
|
+
- min-height
|
74
|
+
-
|
75
|
+
- float
|
76
|
+
- clear
|
77
|
+
-
|
78
|
+
- color
|
79
|
+
-
|
80
|
+
- font
|
81
|
+
- font-size
|
82
|
+
- font-style
|
83
|
+
- font-family
|
84
|
+
- font-weight
|
85
|
+
- font-variant
|
86
|
+
- font-smoothing
|
87
|
+
-
|
88
|
+
- line-height
|
89
|
+
- letter-spacing
|
90
|
+
- word-spacing
|
91
|
+
-
|
92
|
+
- text-align
|
93
|
+
- text-indent
|
94
|
+
- text-shadow
|
95
|
+
- text-overflow
|
96
|
+
- text-rendering
|
97
|
+
- text-transform
|
98
|
+
- text-decoration
|
99
|
+
- text-size-adjust
|
100
|
+
-
|
101
|
+
- word-break
|
102
|
+
- word-wrap
|
103
|
+
-
|
104
|
+
- white-space
|
105
|
+
-
|
106
|
+
- background
|
107
|
+
- background-size
|
108
|
+
- background-color
|
109
|
+
- background-image
|
110
|
+
- background-repeat
|
111
|
+
- background-position
|
112
|
+
- background-attachment
|
113
|
+
-
|
114
|
+
- border
|
115
|
+
- border-top
|
116
|
+
- border-right
|
117
|
+
- border-bottom
|
118
|
+
- border-left
|
119
|
+
-
|
120
|
+
- border-image
|
121
|
+
- border-spacing
|
122
|
+
- border-collapse
|
123
|
+
-
|
124
|
+
- border-color
|
125
|
+
- border-top-color
|
126
|
+
- border-right-color
|
127
|
+
- border-bottom-color
|
128
|
+
- border-left-color
|
129
|
+
-
|
130
|
+
- border-style
|
131
|
+
- border-top-style
|
132
|
+
- border-right-style
|
133
|
+
- border-bottom-style
|
134
|
+
- border-left-style
|
135
|
+
-
|
136
|
+
- border-width
|
137
|
+
- border-top-width
|
138
|
+
- border-right-width
|
139
|
+
- border-bottom-width
|
140
|
+
- border-left-width
|
141
|
+
-
|
142
|
+
- border-radius
|
143
|
+
- border-top-right-radius
|
144
|
+
- border-bottom-right-radius
|
145
|
+
- border-bottom-left-radius
|
146
|
+
- border-top-left-radius
|
147
|
+
- border-radius-topright
|
148
|
+
- border-radius-bottomright
|
149
|
+
- border-radius-bottomleft
|
150
|
+
- border-radius-topleft
|
151
|
+
-
|
152
|
+
- box-shadow
|
153
|
+
|
154
|
+
SelectorFormat:
|
155
|
+
enabled: true
|
156
|
+
convention: hyphenated_BEM
|
157
|
+
|
158
|
+
SingleLinePerSelector:
|
159
|
+
enabled: false
|
160
|
+
|
161
|
+
SpaceAfterPropertyColon:
|
162
|
+
enabled: true
|
163
|
+
style: at_least_one_space
|
164
|
+
|
165
|
+
SpaceBeforeBrace:
|
166
|
+
enabled: true
|
167
|
+
style: space
|
168
|
+
allow_single_line_padding: true
|
169
|
+
|
170
|
+
VariableForProperty:
|
171
|
+
enabled: true
|
172
|
+
properties:
|
173
|
+
- color
|
174
|
+
- font-family
|
175
|
+
- background-color
|
176
|
+
|
177
|
+
# These default settings may be problematic to implementors. They are not
|
178
|
+
# ommitted so that they may be adjusted as needed during an implementation.
|
179
|
+
#
|
180
|
+
# For documentation:
|
181
|
+
# https://github.com/causes/scss-lint/blob/master/lib/scss_lint/linter/README.md
|
182
|
+
|
183
|
+
DuplicateProperty:
|
184
|
+
enabled: true
|
185
|
+
|
186
|
+
PropertySpelling:
|
187
|
+
enabled: true
|
188
|
+
extra_properties: [] # Add experimental CSS to this array, if needed
|
data/CHANGELOG.md
ADDED
@@ -0,0 +1,244 @@
|
|
1
|
+
Workarea Mail Chimp 3.0.2 (2019-08-21)
|
2
|
+
--------------------------------------------------------------------------------
|
3
|
+
|
4
|
+
* Open Source!
|
5
|
+
|
6
|
+
|
7
|
+
|
8
|
+
Workarea Mail Chimp 3.0.1 (2018-09-19)
|
9
|
+
--------------------------------------------------------------------------------
|
10
|
+
|
11
|
+
* Pass default group as first element of an array of groups
|
12
|
+
|
13
|
+
MAILCHIMP-13
|
14
|
+
Jake Beresford
|
15
|
+
|
16
|
+
* Use safe navigation operator to update attributes on user if present, and proceed if user was removed
|
17
|
+
|
18
|
+
* Fixes failing test Workarea::Admin::EmailSignupsIntegrationTest#test_destroy
|
19
|
+
|
20
|
+
MAILCHIMP-14
|
21
|
+
Jake Beresford
|
22
|
+
|
23
|
+
* Guard against nil default_group in subscribe argument builder
|
24
|
+
|
25
|
+
* Refactor code to remove unnecessary argument passing
|
26
|
+
|
27
|
+
MAILCHIMP-13
|
28
|
+
Jake Beresford
|
29
|
+
|
30
|
+
* Strip invalid characters from interest when building checkbox ID
|
31
|
+
|
32
|
+
* Fixes bug where checkboxes cannot be selected due to presence of invalid characters.
|
33
|
+
|
34
|
+
MAILCHIMP-12
|
35
|
+
Jake Beresford
|
36
|
+
|
37
|
+
|
38
|
+
|
39
|
+
Workarea Mail Chimp v3.0.0 (2018-03-06)
|
40
|
+
--------------------------------------------------------------------------------
|
41
|
+
|
42
|
+
* Correct gemserver credentials in release task
|
43
|
+
|
44
|
+
Jake Beresford
|
45
|
+
|
46
|
+
* Update User.email_signup in unsubscribe callback worker
|
47
|
+
|
48
|
+
MAILCHIMP-6
|
49
|
+
Jake Beresford
|
50
|
+
|
51
|
+
* Unsubscribe from mailchimp should unsignup email address in Workarea
|
52
|
+
|
53
|
+
* Additional UI for unsubscribing is unnecessary, should use existing UI and user#update logic.
|
54
|
+
* Use a callback worker to perform ListUnsubscriber job on Email::Signup destroy
|
55
|
+
* Remove redundant Mailchimp controller, unsubscribe action, and route
|
56
|
+
|
57
|
+
MAILCHIMP-6
|
58
|
+
Jake Beresford
|
59
|
+
|
60
|
+
* Reconcile existing Email signup when creating a new account
|
61
|
+
|
62
|
+
MAILCHIMP-7
|
63
|
+
Jake Beresford
|
64
|
+
|
65
|
+
* Fix checking equity between 2 group objects
|
66
|
+
|
67
|
+
Some of this code was removed during the v3 compatibility upgrade, this caused a bug with editing preferences in the user account.
|
68
|
+
|
69
|
+
* Re-write == method for groups, reduce complexity of this function to make it more readable
|
70
|
+
* Iterate over all group interests and compare to current_user groups
|
71
|
+
* Add SubscriptionEdit callback worker to update Mailchimp with changes to groups
|
72
|
+
* Do not enqueue worker unless user is subscribed to emails
|
73
|
+
* Update decorated email_signup? method to call super
|
74
|
+
|
75
|
+
MAILCHIMP-5
|
76
|
+
Jake Beresford
|
77
|
+
|
78
|
+
* Account footer subscription should include all interest groups
|
79
|
+
|
80
|
+
* If a user isn't passed, merge all groups in to the subscribe arguments
|
81
|
+
* Add unit test for subscription interest groups
|
82
|
+
* Update VCR casettes
|
83
|
+
|
84
|
+
Unrelated changes:
|
85
|
+
* Add instructions to get list & list preference IDs from mailchimp to README
|
86
|
+
|
87
|
+
MAILCHIMP-4
|
88
|
+
Jake Beresford
|
89
|
+
|
90
|
+
* Fix error on account creation
|
91
|
+
|
92
|
+
Account creation triggers the list_subscriber job, account_created_email_subscriber was redundant and causing the UserAlreadySubscribed to be raised.
|
93
|
+
|
94
|
+
* Workarea will not allow multiple Email::Subscriptions to save, removed custom error as it is also redundant.
|
95
|
+
* Rubocop wanted some love
|
96
|
+
|
97
|
+
MAILCHIMP-3
|
98
|
+
Jake Beresford
|
99
|
+
|
100
|
+
* * Allow sidekiq retry for all workers * Raise custom error if a user is already subscribed
|
101
|
+
|
102
|
+
MAILCHIMP-1
|
103
|
+
Jake Beresford
|
104
|
+
|
105
|
+
* Remove eql method from MailChimp::Group
|
106
|
+
|
107
|
+
* Method was not necessary and could cause unwanted side-effects
|
108
|
+
|
109
|
+
MAILCHIMP-1
|
110
|
+
Jake Beresford
|
111
|
+
|
112
|
+
* Use bogus gateway and remove conditions to check for gateway presence
|
113
|
+
|
114
|
+
MAILCHIMP-1
|
115
|
+
Jake Beresford
|
116
|
+
|
117
|
+
* Compose all interests from all groups for user
|
118
|
+
|
119
|
+
MAILCHIMP-1
|
120
|
+
Jake Beresford
|
121
|
+
|
122
|
+
* Fix implementation of user_params to correctly apply group interests
|
123
|
+
|
124
|
+
Jake Beresford
|
125
|
+
|
126
|
+
* Use ignore_if to prevent sidekiq job being enqueued if it should not be performed.
|
127
|
+
|
128
|
+
MAILCHIMP-1
|
129
|
+
Jake Beresford
|
130
|
+
|
131
|
+
* Merge user account permitted params with super
|
132
|
+
|
133
|
+
MAILCHIMP-1
|
134
|
+
Jake Beresford
|
135
|
+
|
136
|
+
* Upgrade for v3 compatibility
|
137
|
+
|
138
|
+
* Rename to workarea & storefront
|
139
|
+
* Convert decorators into .decorator files
|
140
|
+
* Convert rspec to minitest
|
141
|
+
* Add test/dummy and test_helper
|
142
|
+
* Add bin/rails
|
143
|
+
* Add dotfiles
|
144
|
+
* Install rubocop and get all cops passing with rails defaults
|
145
|
+
* remove some redundant files
|
146
|
+
* before_filter -> before_action
|
147
|
+
* Loosen version dependency on workarea
|
148
|
+
* Cleanup redundant airbrake notifications
|
149
|
+
* move appends to initializer
|
150
|
+
* Update markup of user account views & add translations to storefront
|
151
|
+
* Use email_signup instead of email_subscribe to match user model
|
152
|
+
* Add callback worker for email subscription on account creation
|
153
|
+
* Move unsubscriber action to mail chimp controller and update user account page UI to make more sense
|
154
|
+
* Get default preferences working properly
|
155
|
+
* Update where email interest groups are displayed for proximity to edit interface
|
156
|
+
* Fix incorrect hash property accessors in group.rb
|
157
|
+
* Set default_groups to empty array if no gateway is defined, like in test
|
158
|
+
|
159
|
+
MAILCHIMP-1
|
160
|
+
Jake Beresford
|
161
|
+
|
162
|
+
|
163
|
+
|
164
|
+
Workarea Mail Chimp v2.0.2 (2016-06-28)
|
165
|
+
--------------------------------------------------------------------------------
|
166
|
+
|
167
|
+
* Minor Mailchimp tweaks to workaround unavoidable errors
|
168
|
+
|
169
|
+
Add 500 and 400 to acceptable error codes and set retries to false for the workers
|
170
|
+
Refactor the listener for Email::Signups to work properly
|
171
|
+
David Freiman
|
172
|
+
|
173
|
+
|
174
|
+
|
175
|
+
Workarea Mail Chimp v2.0.1 (2016-04-29)
|
176
|
+
--------------------------------------------------------------------------------
|
177
|
+
|
178
|
+
* Bugfix callback ensures it has valid data
|
179
|
+
|
180
|
+
Bump version and better syntax
|
181
|
+
David Freiman
|
182
|
+
|
183
|
+
|
184
|
+
|
185
|
+
Workarea Mail Chimp v2.0.0 (2016-04-26)
|
186
|
+
--------------------------------------------------------------------------------
|
187
|
+
|
188
|
+
* Update Rakefile to reflect the standard
|
189
|
+
|
190
|
+
Remove strict version dependancy on Gibbon
|
191
|
+
David Freiman
|
192
|
+
|
193
|
+
* Mailchimp Engine upgrade to MC API3
|
194
|
+
|
195
|
+
Change api adapter to use Gibbon instead of Feralchimp and update dependencies
|
196
|
+
Need to modify the gateway to call specific http methods on the wrapper. Began with modifying the lists
|
197
|
+
and members gateways. Still much modification to be done but proof of concept with subscribe, unsubscribe
|
198
|
+
and fetch single member details already complete
|
199
|
+
|
200
|
+
Update gateway to V3 API - all specs passing
|
201
|
+
|
202
|
+
Need to ensure workflow works with groups
|
203
|
+
Changed all api calls to go through the perform request as an output point
|
204
|
+
added spec to ensure the lists interests function is working
|
205
|
+
lists interests needs two calls - one to get all categories, another to get details of each category
|
206
|
+
|
207
|
+
Rework Error handling
|
208
|
+
|
209
|
+
Only raise error for unacceptable errors - 404s should return an error hash
|
210
|
+
Update specs to use expect syntax instead of should
|
211
|
+
all tests passing
|
212
|
+
|
213
|
+
Mailchimp Listener Fixes
|
214
|
+
|
215
|
+
Refactor listener to work with updated flow, and send the proper subscribe, unsubscribe info
|
216
|
+
Rework partials to display on the correct append points
|
217
|
+
update readme
|
218
|
+
all specs passing
|
219
|
+
|
220
|
+
Update subscribe call to pass proper name fields
|
221
|
+
|
222
|
+
Modified doubles in the spec to use the proper format and fields sent to v3 api are slightly different.
|
223
|
+
|
224
|
+
Mailchimp interests now sending succesfully
|
225
|
+
|
226
|
+
limitation - not sending when a user's interests are modified only when the interest itself is modified
|
227
|
+
Refactored groups to store interests as a hash and modified all mock data accordingly
|
228
|
+
Sending interests to MC in updated API v3 requires sending interest_id so updated the builder to handle that logic
|
229
|
+
All tests passing
|
230
|
+
|
231
|
+
Mailchimp interest integration updates
|
232
|
+
|
233
|
+
allowed a user to modify their interests and have deselected interest reflect in mailchimp
|
234
|
+
currently not firing when interests changed, only when user is updated
|
235
|
+
|
236
|
+
updated code style to match tailor standards
|
237
|
+
|
238
|
+
Interests sending on update
|
239
|
+
|
240
|
+
update to ensure interests send whenever a user is updated
|
241
|
+
remove old code from builders where unneccessary
|
242
|
+
|
243
|
+
Update Return value of lists to return empty array in case of error
|
244
|
+
David Freiman
|