fera-api 0.1.1 → 0.1.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +143 -26
- data/.ruby-version +1 -0
- data/.spellr.yml +9 -0
- data/.spellr_wordlists/english.txt +774 -0
- data/.spellr_wordlists/html.txt +1 -0
- data/.spellr_wordlists/javascript.txt +3 -0
- data/.spellr_wordlists/ruby.txt +22 -0
- data/Gemfile +6 -4
- data/Gemfile.lock +64 -19
- data/README.md +1 -0
- data/lib/fera/api/version.rb +1 -1
- data/lib/fera/api.rb +7 -3
- data/lib/fera/app.rb +3 -0
- data/lib/fera/models/base.rb +28 -22
- data/lib/fera/models/concerns/belongs_to_customer.rb +2 -4
- data/lib/fera/models/concerns/belongs_to_order.rb +14 -17
- data/lib/fera/models/concerns/belongs_to_product.rb +14 -17
- data/lib/fera/models/concerns/belongs_to_review.rb +9 -12
- data/lib/fera/models/concerns/belongs_to_submission.rb +0 -2
- data/lib/fera/models/concerns/has_subject.rb +3 -5
- data/lib/fera/models/media.rb +8 -8
- metadata +91 -14
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 340f111ef9ae910374f8b8556b80a4c7cea4a982be22c807e1330b52f5a222a8
|
4
|
+
data.tar.gz: 758fe26ac14a9a4012039d14800e657690d821862eda47ea8e0866ea714a16d1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: db7db0bd5a14e64dce22219b385d21db5675ddc5dc07196756c2a88dc20cb628786a48e911b5ad638b741c2124be96e7008dff341366d4a7ab83e827b767d5b5
|
7
|
+
data.tar.gz: 53ea2d445404901fc1377edd5720f186e3cccad97eafd420f4e13959fedb55d8778ca39847e3eb2622226b06b9261e5fbc38417f3d23a523acfe083701f84303
|
data/.rubocop.yml
CHANGED
@@ -1,56 +1,173 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
1
|
+
# Base was copied from https://github.com/sider/meowcop/blob/master/config/rubocop.yml which is what Sider uses by default
|
2
|
+
AllCops:
|
3
|
+
TargetRubyVersion: 2.3
|
4
|
+
Exclude:
|
5
|
+
- 'vendor/**/*'
|
6
|
+
- 'db/schema.rb'
|
7
|
+
- 'node_modules/**/*'
|
8
|
+
- 'tmp/**/*'
|
9
|
+
- 'lib/tasks/one_offs/**/*' # We don't really care about linting one-off tasks
|
10
|
+
- 'app/migrators/**/*' # Migrators are one-off tasks so there isn't much need to lint them
|
11
|
+
DisplayCopNames: true
|
12
|
+
DisplayStyleGuide: true
|
13
|
+
NewCops: enable
|
14
|
+
|
15
|
+
Lint/NonLocalExitFromIterator:
|
16
|
+
Enabled: false # We actually believe that it is more readable with premature returns
|
17
|
+
Layout/BeginEndAlignment:
|
18
|
+
Enabled: false # We believe it's more readable to have begin blocks aligned to the end blocks (and also helps with code smells)
|
19
|
+
Lint/AmbiguousRegexpLiteral:
|
8
20
|
Enabled: false
|
9
|
-
|
21
|
+
Lint/AssignmentInCondition:
|
10
22
|
Enabled: false
|
11
|
-
Layout/LineLength:
|
12
|
-
Max: 200
|
13
|
-
# If AbcSize > 50, really really really really really really really complex
|
14
23
|
Metrics/AbcSize:
|
15
|
-
Max:
|
24
|
+
Max: 60
|
16
25
|
# Use the default setting
|
17
|
-
Metrics/BlockNesting:
|
18
|
-
Enabled: true
|
19
26
|
Metrics/BlockLength:
|
20
27
|
Max: 200
|
21
28
|
Exclude:
|
22
29
|
# RuboCop's default
|
23
30
|
- 'Rakefile'
|
24
31
|
- '**/*.rake'
|
25
|
-
|
26
|
-
# In many cases, config/routes.rb has very long blocks
|
32
|
+
# In many cases, config/routes.rb has very long block
|
27
33
|
- 'config/routes.rb'
|
28
34
|
Metrics/ClassLength:
|
29
35
|
Enabled: false
|
30
36
|
Metrics/CyclomaticComplexity:
|
31
|
-
Max:
|
37
|
+
Max: 60
|
32
38
|
Metrics/MethodLength:
|
33
39
|
Enabled: false
|
34
40
|
Metrics/ModuleLength:
|
35
41
|
Enabled: false
|
36
42
|
Metrics/ParameterLists:
|
37
|
-
|
38
|
-
Max: 4
|
43
|
+
Max: 5
|
39
44
|
Metrics/PerceivedComplexity:
|
40
45
|
Enabled: false
|
41
|
-
Layout/
|
46
|
+
Layout/ArgumentAlignment:
|
47
|
+
Enabled: false
|
48
|
+
Layout/HashAlignment:
|
49
|
+
Enabled: false
|
50
|
+
Layout/ParameterAlignment:
|
51
|
+
Enabled: false
|
52
|
+
Layout/IndentationWidth:
|
53
|
+
Enabled: false
|
54
|
+
Layout/FirstHashElementIndentation:
|
55
|
+
Enabled: false
|
56
|
+
Layout/HeredocIndentation:
|
57
|
+
Enabled: false
|
58
|
+
Layout/LineLength:
|
59
|
+
Max: 200
|
60
|
+
AllowedPatterns: ['^\s*#', '^\s*([a-zA-Z]*[lL]og[a-zA-Z]*)[ (]', '^\s*[''"]', '.*#.{30,300}', '^\s*[a-z_]:\s*".+",?[}\s]*$']
|
61
|
+
Layout/MultilineArrayBraceLayout:
|
62
|
+
Enabled: false
|
63
|
+
Layout/MultilineAssignmentLayout:
|
64
|
+
Enabled: false
|
65
|
+
Layout/MultilineBlockLayout:
|
66
|
+
Enabled: false
|
67
|
+
Layout/MultilineHashBraceLayout:
|
68
|
+
Enabled: false
|
69
|
+
Layout/MultilineMethodCallBraceLayout:
|
70
|
+
Enabled: false
|
71
|
+
Layout/MultilineMethodCallIndentation:
|
42
72
|
Enabled: false
|
43
|
-
Layout/
|
73
|
+
Layout/MultilineMethodDefinitionBraceLayout:
|
44
74
|
Enabled: false
|
45
|
-
Layout/
|
75
|
+
Layout/MultilineOperationIndentation:
|
46
76
|
Enabled: false
|
47
|
-
Layout/
|
77
|
+
Layout/RescueEnsureAlignment:
|
48
78
|
Enabled: false
|
49
|
-
Layout/
|
79
|
+
Layout/SpaceAfterNot:
|
50
80
|
Enabled: false
|
51
|
-
Layout/
|
81
|
+
Layout/SpaceBeforeBlockBraces:
|
52
82
|
Enabled: false
|
53
|
-
Layout/
|
83
|
+
Layout/SpaceInLambdaLiteral:
|
54
84
|
Enabled: false
|
55
85
|
Layout/SpaceInsideStringInterpolation:
|
56
86
|
EnforcedStyle: space
|
87
|
+
Naming/PredicateName:
|
88
|
+
Enabled: false # As of February 2022 we now want some methods to have is_ prefix so it is congruent with JavaScript
|
89
|
+
Naming/VariableNumber:
|
90
|
+
Enabled: false
|
91
|
+
Style/AsciiComments:
|
92
|
+
Enabled: false # It's 2022, emojis are everywhere
|
93
|
+
Style/Alias:
|
94
|
+
EnforcedStyle: prefer_alias_method
|
95
|
+
Style/CaseLikeIf:
|
96
|
+
Enabled: false
|
97
|
+
Style/CommentAnnotation:
|
98
|
+
Enabled: false # Don't really care about being picky on comments like this. Not worth slowing down the developer.
|
99
|
+
Style/CommentedKeyword:
|
100
|
+
Enabled: false # We want to allow comments on single-line method definitions like `# @alias`
|
101
|
+
Style/ConstantVisibility:
|
102
|
+
Enabled: false
|
103
|
+
Style/Copyright:
|
104
|
+
Enabled: false
|
105
|
+
Style/DisableCopsWithinSourceCodeDirective:
|
106
|
+
Enabled: false # Allow disabling cops and we will use PRs to determine whether it should be enforced
|
107
|
+
Style/Documentation:
|
108
|
+
Enabled: false # We will decide in PR whether public method should be documented or not.
|
109
|
+
Style/DocumentationMethod:
|
110
|
+
Enabled: false # We will decide in PR whether public method should be documented or not.
|
111
|
+
Style/EmptyElse:
|
112
|
+
AllowComments: true # When a comment is there then it means the programmer thought about the case so we can ignore it.
|
113
|
+
EnforcedStyle: empty # When a comment or nil is there it means the programmer thought about the case, so there is no need for concern
|
114
|
+
Style/FloatDivision:
|
115
|
+
Enabled: false # Sometimes we're trying to force the number to become a float and it could be nil
|
116
|
+
Style/FrozenStringLiteralComment:
|
117
|
+
Enabled: false
|
118
|
+
Style/GlobalVars:
|
119
|
+
Enabled: false # If we're using global variables, we have a darn good reason or it should be blocked in the PR
|
120
|
+
Style/IfUnlessModifier:
|
121
|
+
Enabled: false # This isn't always easier to read. Sometimes you want to put the IF in front of the block of code to make it more clear.
|
122
|
+
Style/ImplicitRuntimeError:
|
123
|
+
Enabled: false # These are actually readable as long as we all know that they represent a RuntimeError
|
124
|
+
Style/InlineComment:
|
125
|
+
Enabled: false # Trailing inline comments are pretty compact and more readable
|
126
|
+
Style/Lambda:
|
127
|
+
Enabled: false
|
128
|
+
Style/LambdaCall:
|
129
|
+
Enabled: false
|
130
|
+
Style/MethodCallWithArgsParentheses:
|
131
|
+
Enabled: false
|
132
|
+
Style/MethodCallWithoutArgsParentheses:
|
133
|
+
Enabled: true # We use whatever is more readable
|
134
|
+
Style/MethodCalledOnDoEndBlock:
|
135
|
+
Enabled: false # Actually don't mind these - they look more readable
|
136
|
+
Style/MissingElse:
|
137
|
+
Enabled: false # Sometimes it's obvious we don't care about the else case (e.g. if we're prematurely returning from method)
|
138
|
+
Style/MultilineBlockChain:
|
139
|
+
Enabled: false # Sometimes these are more readable
|
140
|
+
Style/MutableConstant:
|
141
|
+
Enabled: false
|
142
|
+
Style/MapToHash:
|
143
|
+
Enabled: false # We believe it's more readable to use map vs hash with block syntax
|
144
|
+
Style/NumericPredicate:
|
145
|
+
Enabled: false # .zero? and .positive? are a bit less readable than == 0 IMO
|
146
|
+
Style/OptionHash:
|
147
|
+
Enabled: false # It is more intuitive to pass option hashes to other objects in many times
|
148
|
+
Style/OpenStructUse:
|
149
|
+
Enabled: false
|
150
|
+
Style/RedundantRegexpCharacterClass:
|
151
|
+
Enabled: false # No need to make regexp less readable than they already are by reducing redundancy
|
152
|
+
Style/RedundantRegexpEscape:
|
153
|
+
Enabled: false # No need to make regexp less readable than they already are by reducing redundancy
|
154
|
+
Style/RedundantSelf:
|
155
|
+
Enabled: false # Sometimes it's actually more readable to explicitly reference self
|
156
|
+
Style/RegexpLiteral:
|
157
|
+
Enabled: false
|
158
|
+
Style/ReturnNil:
|
159
|
+
Enabled: false # Returning nil is more clear what is happening and can prevent issues with returning mixed types
|
160
|
+
Style/Send:
|
161
|
+
Enabled: false
|
162
|
+
Style/SingleLineMethods:
|
163
|
+
Enabled: false # Sometimes these are more compact and easier to read. No need to spam our file with simple method definitions.
|
164
|
+
Style/StringLiterals:
|
165
|
+
Enabled: false
|
166
|
+
Style/SymbolArray:
|
167
|
+
Enabled: false
|
168
|
+
Style/TernaryParentheses:
|
169
|
+
Enabled: false
|
170
|
+
Style/TrailingCommaInArrayLiteral:
|
171
|
+
EnforcedStyleForMultiline: consistent_comma # It makes managing arrays much easier when we have commas at the end
|
172
|
+
Style/TrailingCommaInHashLiteral:
|
173
|
+
EnforcedStyleForMultiline: consistent_comma # It makes managing hashes much easier when we have commas at the end
|
data/.ruby-version
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
2.7.6
|
data/.spellr.yml
ADDED
@@ -0,0 +1,9 @@
|
|
1
|
+
includes:
|
2
|
+
- lib/**/*
|
3
|
+
excludes:
|
4
|
+
- node_modules/**/*
|
5
|
+
- app/**/*.min*
|
6
|
+
- "**/*.map"
|
7
|
+
word_minimum_length: 4 # any words shorter than this will be ignored
|
8
|
+
key_minimum_length: 6 # any strings shorter than this won't be considered non-word strings
|
9
|
+
key_heuristic_weight: 5 # higher values mean strings are more likely to be considered words or non-words by the classifier.
|