disco_app 0.15.2 → 0.16.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (51) hide show
  1. checksums.yaml +4 -4
  2. data/app/clients/disco_app/graphql_client.rb +85 -0
  3. data/app/controllers/disco_app/flow/actions_controller.rb +7 -0
  4. data/app/controllers/disco_app/flow/concerns/actions_controller.rb +47 -0
  5. data/app/jobs/disco_app/flow/process_action_job.rb +11 -0
  6. data/app/jobs/disco_app/flow/process_trigger_job.rb +11 -0
  7. data/app/jobs/disco_app/shop_job.rb +8 -9
  8. data/app/models/disco_app/concerns/renders_assets.rb +1 -1
  9. data/app/models/disco_app/concerns/shop.rb +4 -5
  10. data/app/models/disco_app/flow/action.rb +7 -0
  11. data/app/models/disco_app/flow/concerns/action.rb +24 -0
  12. data/app/models/disco_app/flow/concerns/trigger.rb +24 -0
  13. data/app/models/disco_app/flow/trigger.rb +7 -0
  14. data/app/services/disco_app/flow/create_action.rb +35 -0
  15. data/app/services/disco_app/flow/create_trigger.rb +34 -0
  16. data/app/services/disco_app/flow/process_action.rb +50 -0
  17. data/app/services/disco_app/flow/process_trigger.rb +52 -0
  18. data/config/routes.rb +7 -1
  19. data/db/migrate/20150525000000_create_shops_if_not_existent.rb +80 -80
  20. data/db/migrate/20170315062548_create_disco_app_sources.rb +2 -0
  21. data/db/migrate/20170315062629_add_sources_to_shop_subscriptions.rb +2 -0
  22. data/db/migrate/20170327214540_create_disco_app_users.rb +2 -1
  23. data/db/migrate/20170606160751_fix_disco_app_users_index.rb +2 -0
  24. data/db/migrate/20181229100327_create_flow_actions_and_triggers.rb +32 -0
  25. data/lib/disco_app/configuration.rb +4 -0
  26. data/lib/disco_app/version.rb +1 -1
  27. data/lib/generators/disco_app/disco_app_generator.rb +24 -8
  28. data/lib/generators/disco_app/templates/config/appsignal.yml +12 -0
  29. data/lib/generators/disco_app/templates/config/cable.yml.tt +11 -0
  30. data/lib/generators/disco_app/templates/config/database.yml.tt +6 -3
  31. data/lib/generators/disco_app/templates/config/environments/staging.rb +108 -0
  32. data/lib/generators/disco_app/templates/config/newrelic.yml +3 -0
  33. data/lib/generators/disco_app/templates/controllers/home_controller.rb +1 -0
  34. data/lib/generators/disco_app/templates/initializers/session_store.rb +1 -1
  35. data/lib/generators/disco_app/templates/root/.env +3 -0
  36. data/lib/generators/disco_app/templates/root/.rubocop.yml +223 -158
  37. data/test/dummy/config/database.yml +3 -0
  38. data/test/dummy/config/environments/staging.rb +85 -0
  39. data/test/dummy/config/secrets.yml +3 -0
  40. data/test/dummy/db/schema.rb +39 -11
  41. data/test/services/disco_app/flow/create_action_test.rb +51 -0
  42. data/test/services/disco_app/flow/create_trigger_test.rb +56 -0
  43. data/test/services/disco_app/flow/process_action_test.rb +68 -0
  44. data/test/services/disco_app/flow/process_trigger_test.rb +61 -0
  45. data/test/vcr/flow_trigger_invalid_title.yml +35 -0
  46. data/test/vcr/flow_trigger_valid.yml +38 -0
  47. metadata +66 -11
  48. data/app/clients/disco_app/rollbar_client.rb +0 -53
  49. data/app/clients/disco_app/rollbar_client_error.rb +0 -2
  50. data/lib/generators/disco_app/templates/initializers/rollbar.rb +0 -23
  51. data/lib/tasks/rollbar.rake +0 -24
@@ -1,11 +1,146 @@
1
1
  AllCops:
2
2
  Exclude:
3
+ - bin/*
3
4
  - db/schema.rb
5
+ - vendor/ruby/**/*
6
+ TargetRubyVersion: 2.5
4
7
 
5
- Style/AccessorMethodName:
8
+ # Layout
9
+
10
+ Layout/AccessModifierIndentation:
11
+ Enabled: true
12
+
13
+ Layout/AlignParameters:
14
+ Description: 'Here we check if the parameters on a multi-line method call or definition are aligned.'
15
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-double-indent'
16
+ Enabled: true,
17
+ EnforcedStyle: with_fixed_indentation
18
+
19
+ Layout/ClassStructure:
20
+ Categories:
21
+ associations:
22
+ - belongs_to
23
+ - has_one
24
+ - has_many
25
+ attributes:
26
+ - attr_accessor
27
+ - attr_reader
28
+ - attr_writer
29
+ - attr_accessible
30
+ callbacks:
31
+ - before_validation
32
+ - after_validation
33
+ - before_save
34
+ - around_save
35
+ - before_create
36
+ - around_create
37
+ - after_create
38
+ - after_save
39
+ - after_commit
40
+ module_inclusion:
41
+ - include
42
+ - prepend
43
+ - extend
44
+ validations:
45
+ - validates
46
+ ExpectedOrder:
47
+ - module_inclusion
48
+ - constants
49
+ - attributes
50
+ - associations
51
+ - validations
52
+ - callbacks
53
+ - public_class_methods
54
+ - initializer
55
+ - public_methods
56
+ - protected_methods
57
+ - private_methods
58
+ Enabled: true
59
+
60
+ Layout/DotPosition:
61
+ Description: 'Checks the position of the dot in multi-line method calls.'
62
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#consistent-multi-line-chains'
63
+ EnforcedStyle: leading
64
+
65
+ Layout/EmptyLinesAroundClassBody:
66
+ Enabled: true
67
+ EnforcedStyle: empty_lines
68
+
69
+ Layout/EmptyLinesAroundModuleBody:
70
+ Enabled: true
71
+ EnforcedStyle: empty_lines_except_namespace
72
+
73
+ Layout/ExtraSpacing:
74
+ Description: 'Do not use unnecessary spacing.'
75
+ Enabled: true
76
+
77
+ Layout/InitialIndentation:
78
+ Description: >-
79
+ Checks the indentation of the first non-blank non-comment line in a file.
80
+ Enabled: false
81
+
82
+ Layout/IndentHash:
83
+ Enabled: true
84
+ EnforcedStyle: consistent
85
+
86
+ Layout/IndentationConsistency:
87
+ EnforcedStyle: rails
88
+ Enabled: true
89
+
90
+ Layout/MultilineBlockLayout:
91
+ Enabled: false
92
+
93
+ Layout/MultilineOperationIndentation:
94
+ Description: >-
95
+ Checks indentation of binary operations that span more than
96
+ one line.
97
+ Enabled: true
98
+ EnforcedStyle: indented
99
+
100
+ Layout/MultilineMethodCallIndentation:
101
+ Description: >-
102
+ Checks indentation of method calls with the dot operator
103
+ that span more than one line.
104
+ Enabled: true
105
+ EnforcedStyle: indented
106
+
107
+ Layout/SpaceBeforeBlockBraces:
108
+ Description: >-
109
+ Checks that block braces have or don't have a space before
110
+ the opening brace depending on configuration.
111
+ Enabled: false
112
+
113
+ # Naming
114
+
115
+ Naming/AccessorMethodName:
6
116
  Description: Check the naming of accessor methods for get_/set_.
7
117
  Enabled: false
8
118
 
119
+ Naming/AsciiIdentifiers:
120
+ Description: 'Use only ascii symbols in identifiers.'
121
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#english-identifiers'
122
+ Enabled: true
123
+
124
+ Naming/BinaryOperatorParameterName:
125
+ Description: 'When defining binary operators, name the argument other.'
126
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#other-arg'
127
+ Enabled: false
128
+
129
+ Naming/FileName:
130
+ Description: 'Use snake_case for source file names.'
131
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#snake-case-files'
132
+ Enabled: true
133
+
134
+ Naming/PredicateName:
135
+ Description: 'Check the names of predicate methods.'
136
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#bool-methods-qmark'
137
+ NamePrefixBlacklist:
138
+ - is_
139
+ Exclude:
140
+ - spec/**/*
141
+
142
+ # Style
143
+
9
144
  Style/Alias:
10
145
  Description: 'Use alias_method instead of alias.'
11
146
  StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#alias-method'
@@ -21,21 +156,11 @@ Style/AsciiComments:
21
156
  StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#english-comments'
22
157
  Enabled: true
23
158
 
24
- Style/AsciiIdentifiers:
25
- Description: 'Use only ascii symbols in identifiers.'
26
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#english-identifiers'
27
- Enabled: true
28
-
29
159
  Style/Attr:
30
160
  Description: 'Checks for uses of Module#attr.'
31
161
  StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#attr'
32
162
  Enabled: true
33
163
 
34
- Metrics/BlockNesting:
35
- Description: 'Avoid excessive block nesting'
36
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#three-is-the-number-thou-shalt-count'
37
- Enabled: true
38
-
39
164
  Style/CaseEquality:
40
165
  Description: 'Avoid explicit use of the case equality operator(===).'
41
166
  StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-case-equality'
@@ -51,14 +176,6 @@ Style/ClassAndModuleChildren:
51
176
  Enabled: true
52
177
  EnforcedStyle: nested
53
178
 
54
- Metrics/ClassLength:
55
- Description: 'Avoid classes longer than 100 lines of code.'
56
- Enabled: false
57
-
58
- Metrics/ModuleLength:
59
- Description: 'Avoid modules longer than 100 lines of code.'
60
- Enabled: false
61
-
62
179
  Style/ClassVars:
63
180
  Description: 'Avoid the use of class variables.'
64
181
  StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-class-vars'
@@ -67,7 +184,7 @@ Style/ClassVars:
67
184
  Style/CollectionMethods:
68
185
  Enabled: true
69
186
  PreferredMethods:
70
- find: find
187
+ detect: find
71
188
  inject: reduce
72
189
  collect: map
73
190
  find_all: select
@@ -77,11 +194,6 @@ Style/ColonMethodCall:
77
194
  StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#double-colons'
78
195
  Enabled: true
79
196
 
80
- Style/MutableConstant:
81
- Description: 'Avoids assignment of mutable literals to constants..'
82
- StyleGuide: 'http://www.rubydoc.info/github/bbatsov/RuboCop/RuboCop/Cop/Style/MutableConstant'
83
- Enabled: false
84
-
85
197
  Style/CommentAnnotation:
86
198
  Description: >-
87
199
  Checks formatting of special comments
@@ -89,27 +201,6 @@ Style/CommentAnnotation:
89
201
  StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#annotate-keywords'
90
202
  Enabled: false
91
203
 
92
- Metrics/AbcSize:
93
- Description: >-
94
- A calculated magnitude based on number of assignments,
95
- branches, and conditions.
96
- Enabled: false
97
-
98
- Metrics/CyclomaticComplexity:
99
- Description: >-
100
- A complexity metric that is strongly correlated to the number
101
- of test cases needed to validate a method.
102
- Enabled: false
103
-
104
- Rails/Delegate:
105
- Description: 'Prefer delegate method for delegations.'
106
- Enabled: false
107
-
108
- Style/PreferredHashMethods:
109
- Description: 'Checks use of `has_key?` and `has_value?` Hash methods.'
110
- StyleGuide: '#hash-key'
111
- Enabled: true
112
-
113
204
  Style/Documentation:
114
205
  Description: 'Document classes and non-namespace modules.'
115
206
  Enabled: false
@@ -128,6 +219,9 @@ Style/EmptyLiteral:
128
219
  StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#literal-array-hash'
129
220
  Enabled: true
130
221
 
222
+ Style/EmptyMethod:
223
+ EnforcedStyle: expanded
224
+
131
225
  # Checks whether the source file has a utf-8 encoding comment or not
132
226
  # AutoCorrectEncodingComment must match the regex
133
227
  # /#.*coding\s?[:=]\s?(?:UTF|utf)-8/
@@ -139,11 +233,6 @@ Style/EvenOdd:
139
233
  StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#predicate-methods'
140
234
  Enabled: true
141
235
 
142
- Style/FileName:
143
- Description: 'Use snake_case for source file names.'
144
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#snake-case-files'
145
- Enabled: true
146
-
147
236
  Style/FrozenStringLiteralComment:
148
237
  Description: >-
149
238
  Add the frozen_string_literal comment to the top of files
@@ -203,16 +292,11 @@ Style/LineEndConcatenation:
203
292
  line end.
204
293
  Enabled: true
205
294
 
206
- Metrics/LineLength:
207
- Description: 'Limit lines to 80 characters.'
208
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#80-character-limits'
209
- Max: 80
210
- Enabled: false
211
-
212
- Metrics/MethodLength:
213
- Description: 'Avoid methods longer than 10 lines of code.'
214
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#short-methods'
215
- Enabled: false
295
+ Style/MixinUsage:
296
+ Description: 'Checks that `include` statements appaear inside classes.'
297
+ Enabled: true
298
+ Exclude:
299
+ - bin/*
216
300
 
217
301
  Style/ModuleFunction:
218
302
  Description: 'Checks for usage of `extend self` in modules.'
@@ -224,6 +308,11 @@ Style/MultilineBlockChain:
224
308
  StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#single-line-blocks'
225
309
  Enabled: false
226
310
 
311
+ Style/MutableConstant:
312
+ Description: 'Avoids assignment of mutable literals to constants..'
313
+ StyleGuide: 'http://www.rubydoc.info/github/bbatsov/RuboCop/RuboCop/Cop/Style/MutableConstant'
314
+ Enabled: true
315
+
227
316
  Style/NegatedIf:
228
317
  Description: >-
229
318
  Favor unless over if for negative conditions
@@ -256,7 +345,7 @@ Style/NumericLiterals:
256
345
  Add underscores to large numeric literals to improve their
257
346
  readability.
258
347
  StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#underscores-in-numerics'
259
- Enabled: true
348
+ Enabled: false
260
349
 
261
350
  Style/OneLineConditional:
262
351
  Description: >-
@@ -265,16 +354,6 @@ Style/OneLineConditional:
265
354
  StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#ternary-operator'
266
355
  Enabled: true
267
356
 
268
- Style/OpMethod:
269
- Description: 'When defining binary operators, name the argument other.'
270
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#other-arg'
271
- Enabled: false
272
-
273
- Metrics/ParameterLists:
274
- Description: 'Avoid parameter lists longer than three or four parameters.'
275
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#too-many-params'
276
- Enabled: true
277
-
278
357
  Style/PercentLiteralDelimiters:
279
358
  Description: 'Use `%`-literal delimiters consistently'
280
359
  StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#percent-literal-braces'
@@ -285,13 +364,10 @@ Style/PerlBackrefs:
285
364
  StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-perl-regexp-last-matchers'
286
365
  Enabled: true
287
366
 
288
- Style/PredicateName:
289
- Description: 'Check the names of predicate methods.'
290
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#bool-methods-qmark'
291
- NamePrefixBlacklist:
292
- - is_
293
- Exclude:
294
- - spec/**/*
367
+ Style/PreferredHashMethods:
368
+ Description: 'Checks use of `has_key?` and `has_value?` Hash methods.'
369
+ StyleGuide: '#hash-key'
370
+ Enabled: true
295
371
 
296
372
  Style/Proc:
297
373
  Description: 'Use proc instead of Proc.new.'
@@ -344,13 +420,19 @@ Style/StringLiterals:
344
420
  Style/TrailingCommaInArguments:
345
421
  Description: 'Checks for trailing comma in argument lists.'
346
422
  StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-trailing-array-commas'
347
- EnforcedStyleForMultiline: comma
423
+ EnforcedStyleForMultiline: no_comma
348
424
  Enabled: true
349
425
 
350
- Style/TrailingCommaInLiteral:
351
- Description: 'Checks for trailing comma in array and hash literals.'
426
+ Style/TrailingCommaInArrayLiteral:
427
+ Description: 'Checks for trailing comma in array literals.'
352
428
  StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-trailing-array-commas'
353
- EnforcedStyleForMultiline: comma
429
+ EnforcedStyleForMultiline: no_comma
430
+ Enabled: false
431
+
432
+ Style/TrailingCommaInHashLiteral:
433
+ Description: 'Checks for trailing comma in hash literals.'
434
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-trailing-array-commas'
435
+ EnforcedStyleForMultiline: no_comma
354
436
  Enabled: false
355
437
 
356
438
  Style/TrivialAccessors:
@@ -377,13 +459,62 @@ Style/WhileUntilModifier:
377
459
  StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#while-as-a-modifier'
378
460
  Enabled: true
379
461
 
462
+ Style/SymbolArray:
463
+ MinSize: 4
464
+
380
465
  Style/WordArray:
381
466
  Description: 'Use %w or %W for arrays of words.'
382
467
  StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#percent-w'
383
468
  Enabled: true
469
+ MinSize: 4
384
470
 
385
- Style/SymbolArray:
386
- MinSize: 3
471
+ # Metrics
472
+
473
+ Metrics/AbcSize:
474
+ Description: >-
475
+ A calculated magnitude based on number of assignments,
476
+ branches, and conditions.
477
+ Enabled: false
478
+
479
+ Metrics/BlockLength:
480
+ Enabled: true
481
+ Exclude:
482
+ - config/environments/*
483
+
484
+ Metrics/BlockNesting:
485
+ Description: 'Avoid excessive block nesting'
486
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#three-is-the-number-thou-shalt-count'
487
+ Enabled: true
488
+
489
+ Metrics/ClassLength:
490
+ Description: 'Avoid classes longer than 100 lines of code.'
491
+ Enabled: false
492
+
493
+ Metrics/CyclomaticComplexity:
494
+ Description: >-
495
+ A complexity metric that is strongly correlated to the number
496
+ of test cases needed to validate a method.
497
+ Enabled: false
498
+
499
+ Metrics/LineLength:
500
+ Description: 'Limit lines to 80 characters.'
501
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#80-character-limits'
502
+ Max: 80
503
+ Enabled: false
504
+
505
+ Metrics/MethodLength:
506
+ Description: 'Avoid methods longer than 10 lines of code.'
507
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#short-methods'
508
+ Enabled: false
509
+
510
+ Metrics/ModuleLength:
511
+ Description: 'Avoid modules longer than 100 lines of code.'
512
+ Enabled: false
513
+
514
+ Metrics/ParameterLists:
515
+ Description: 'Avoid parameter lists longer than three or four parameters.'
516
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#too-many-params'
517
+ Enabled: true
387
518
 
388
519
  # Lint
389
520
 
@@ -409,13 +540,6 @@ Lint/CircularArgumentReference:
409
540
  Description: "Don't refer to the keyword argument in the default value."
410
541
  Enabled: false
411
542
 
412
- Lint/ConditionPosition:
413
- Description: >-
414
- Checks for condition placed in a confusing position relative to
415
- the keyword.
416
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#same-line-condition'
417
- Enabled: true
418
-
419
543
  Lint/DeprecatedClassMethods:
420
544
  Description: 'Check for deprecated class method calls.'
421
545
  Enabled: true
@@ -441,13 +565,7 @@ Lint/HandleExceptions:
441
565
  StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#dont-hide-exceptions'
442
566
  Enabled: true
443
567
 
444
- Lint/InvalidCharacterLiteral:
445
- Description: >-
446
- Checks for invalid character literals with a non-escaped
447
- whitespace character.
448
- Enabled: false
449
-
450
- Lint/LiteralInCondition:
568
+ Lint/LiteralAsCondition:
451
569
  Description: 'Checks of literals used in conditions.'
452
570
  Enabled: false
453
571
 
@@ -488,13 +606,6 @@ Lint/UnderscorePrefixedVariableName:
488
606
  Description: 'Do not use prefix `_` for a variable that is used.'
489
607
  Enabled: false
490
608
 
491
- Lint/UnneededDisable:
492
- Description: >-
493
- Checks for rubocop:disable comments that can be removed.
494
- Note: this cop is not disabled when disabling all cops.
495
- It must be explicitly disabled.
496
- Enabled: false
497
-
498
609
  Lint/Void:
499
610
  Description: 'Possible use of operator/literal/variable in void context.'
500
611
  Enabled: false
@@ -519,7 +630,7 @@ Performance/Detect:
519
630
  Use `detect` instead of `select.first`, `find_all.first`,
520
631
  `select.last`, and `find_all.last`.
521
632
  Reference: 'https://github.com/JuanitoFatas/fast-ruby#enumerabledetect-vs-enumerableselectfirst-code'
522
- Enabled: false
633
+ Enabled: true
523
634
 
524
635
  Performance/FlatMap:
525
636
  Description: >-
@@ -568,6 +679,10 @@ Rails/Date:
568
679
  such as Date.today, Date.current etc.
569
680
  Enabled: true
570
681
 
682
+ Rails/Delegate:
683
+ Description: 'Prefer delegate method for delegations.'
684
+ Enabled: false
685
+
571
686
  Rails/FindBy:
572
687
  Description: 'Prefer find_by over where.first.'
573
688
  Enabled: true
@@ -604,57 +719,7 @@ Rails/Validation:
604
719
  Description: 'Use validates :attribute, hash of validations.'
605
720
  Enabled: false
606
721
 
607
- # Layout
608
-
609
- Layout/EmptyLinesAroundClassBody:
610
- Enabled: true
611
- EnforcedStyle: empty_lines
612
-
613
- Layout/AlignParameters:
614
- Description: 'Here we check if the parameters on a multi-line method call or definition are aligned.'
615
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-double-indent'
616
- Enabled: true
617
-
618
- Layout/DotPosition:
619
- Description: 'Checks the position of the dot in multi-line method calls.'
620
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#consistent-multi-line-chains'
621
- EnforcedStyle: leading
622
-
623
- Layout/ExtraSpacing:
624
- Description: 'Do not use unnecessary spacing.'
625
- Enabled: true
626
-
627
- Layout/MultilineOperationIndentation:
628
- Description: >-
629
- Checks indentation of binary operations that span more than
630
- one line.
631
- Enabled: true
632
- EnforcedStyle: indented
633
-
634
- Layout/MultilineMethodCallIndentation:
635
- Description: >-
636
- Checks indentation of method calls with the dot operator
637
- that span more than one line.
638
- Enabled: true
639
- EnforcedStyle: indented
640
-
641
- Layout/InitialIndentation:
642
- Description: >-
643
- Checks the indentation of the first non-blank non-comment line in a file.
644
- Enabled: false
645
-
646
- Layout/IndentHash:
647
- Enabled: true
648
- EnforcedStyle: consistent
649
-
650
- Layout/AccessModifierIndentation:
651
- Enabled: true
652
-
653
- Layout/IndentationConsistency:
654
- EnforcedStyle: rails
655
- Enabled: true
656
-
657
722
  # Bundler
658
723
 
659
724
  Bundler/OrderedGems:
660
- Enabled: false
725
+ Enabled: true
@@ -17,5 +17,8 @@ test:
17
17
  port: 5432
18
18
  database: disco_app_test
19
19
 
20
+ staging:
21
+ <<: *default
22
+
20
23
  production:
21
24
  <<: *default
@@ -0,0 +1,85 @@
1
+ Rails.application.configure do
2
+ # Settings specified here will take precedence over those in config/application.rb.
3
+
4
+ # Use Sidekiq as the active job backend
5
+ config.active_job.queue_adapter = :sidekiq
6
+
7
+ # Allow real charges in staging with an ENV variable
8
+ config.x.shopify_charges_real = ENV['SHOPIFY_CHARGES_REAL'] == 'true'
9
+
10
+ # Code is not reloaded between requests.
11
+ config.cache_classes = true
12
+
13
+ # Eager load code on boot. This eager loads most of Rails and
14
+ # your application in memory, allowing both threaded web servers
15
+ # and those relying on copy on write to perform better.
16
+ # Rake tasks automatically ignore this option for performance.
17
+ config.eager_load = true
18
+
19
+ # Full error reports are disabled and caching is turned on.
20
+ config.consider_all_requests_local = false
21
+ config.action_controller.perform_caching = true
22
+
23
+ # Enable Rack::Cache to put a simple HTTP cache in front of your application
24
+ # Add `rack-cache` to your Gemfile before enabling this.
25
+ # For large-scale production use, consider using a caching reverse proxy like
26
+ # NGINX, varnish or squid.
27
+ # config.action_dispatch.rack_cache = true
28
+
29
+ # Disable serving static files from the `/public` folder by default since
30
+ # Apache or NGINX already handles this.
31
+ config.serve_static_files = ENV['RAILS_SERVE_STATIC_FILES'].present?
32
+
33
+ # Compress JavaScripts and CSS.
34
+ config.assets.js_compressor = :uglifier
35
+ config.assets.css_compressor = :sass
36
+
37
+ # Do not fallback to assets pipeline if a precompiled asset is missed.
38
+ config.assets.compile = false
39
+
40
+ # Asset digests allow you to set far-future HTTP expiration dates on all assets,
41
+ # yet still be able to expire them through the digest params.
42
+ config.assets.digest = true
43
+
44
+ # `config.assets.precompile` and `config.assets.version` have moved to config/initializers/assets.rb
45
+
46
+ # Specifies the header that your server uses for sending files.
47
+ # config.action_dispatch.x_sendfile_header = 'X-Sendfile' # for Apache
48
+ # config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' # for NGINX
49
+
50
+ # Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies.
51
+ config.force_ssl = true
52
+
53
+ # Use the lowest log level to ensure availability of diagnostic information
54
+ # when problems arise.
55
+ config.log_level = :debug
56
+
57
+ # Prepend all log lines with the following tags.
58
+ # config.log_tags = [ :subdomain, :uuid ]
59
+
60
+ # Use a different logger for distributed setups.
61
+ # config.logger = ActiveSupport::TaggedLogging.new(SyslogLogger.new)
62
+
63
+ # Use a different cache store in staging.
64
+ # config.cache_store = :mem_cache_store
65
+
66
+ # Enable serving of images, stylesheets, and JavaScripts from an asset server.
67
+ # config.action_controller.asset_host = 'http://assets.example.com'
68
+
69
+ # Ignore bad email addresses and do not raise email delivery errors.
70
+ # Set this to true and configure the email server for immediate delivery to raise delivery errors.
71
+ # config.action_mailer.raise_delivery_errors = false
72
+
73
+ # Enable locale fallbacks for I18n (makes lookups for any locale fall back to
74
+ # the I18n.default_locale when a translation cannot be found).
75
+ config.i18n.fallbacks = true
76
+
77
+ # Send deprecation notices to registered listeners.
78
+ config.active_support.deprecation = :notify
79
+
80
+ # Use default logging formatter so that PID and timestamp are not suppressed.
81
+ config.log_formatter = ::Logger::Formatter.new
82
+
83
+ # Do not dump schema after migrations.
84
+ config.active_record.dump_schema_after_migration = false
85
+ end
@@ -18,5 +18,8 @@ test:
18
18
 
19
19
  # Do not keep production secrets in the repository,
20
20
  # instead read values from the environment.
21
+ staging:
22
+ secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>
23
+
21
24
  production:
22
25
  secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>