founders_toolkit 0.6.0 → 0.7.0
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 +4 -4
- data/.rubocop.yml +8 -388
- data/Gemfile.lock +6 -5
- data/founders_toolkit.gemspec +1 -1
- data/lib/founders_toolkit/auth/securable/current_attributes.rb +4 -0
- data/lib/founders_toolkit/auth/securable/guest.rb +5 -0
- data/lib/founders_toolkit/version.rb +1 -1
- data/lib/install/install.rb +64 -0
- data/lib/install/templates/Brewfile +6 -0
- data/lib/install/templates/Procfile +5 -0
- data/lib/install/templates/app/controllers/sessions_controller.rb +4 -0
- data/lib/install/templates/app/controllers/users_controller.rb +37 -0
- data/lib/install/templates/{current.rb → app/models/current.rb} +0 -0
- data/lib/install/templates/app/models/guest.rb +4 -0
- data/lib/install/templates/app/models/user.rb +6 -0
- data/lib/install/templates/app/views/sessions/new.html.erb +33 -0
- data/lib/tasks/install.rake +2 -4
- metadata +14 -8
- data/lib/install/current.rb +0 -6
- data/lib/install/gems.rb +0 -12
- data/lib/install/linters.rb +0 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ae135b54293ce448139bed2319a121ed257658a4990833e00c4fbd305ec8becb
|
4
|
+
data.tar.gz: e6844d386364f6d415bf1ca249e31dfef25f6e8daeeb8670e5d551f2bfcb3ee3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: faddfdd5c8bf3590a73ac3bf042db3cbfb020534e506dc7c4314ba812f08f24c367ee63a6c096d655c5573cb9699b7427dae6db808a82c69bc275cbbc92afc3d
|
7
|
+
data.tar.gz: bd330a825d36a26da406cec52de4bbdaaaa0d041bfcd7b97056af26ca15b4e4614893253a7fb9cae9c9a988e1171c0b4873242a7bbec89e583dfed5e7b44f6ee
|
data/.rubocop.yml
CHANGED
@@ -1,392 +1,12 @@
|
|
1
|
+
inherit_from:
|
2
|
+
- https://raw.githubusercontent.com/trobrock/style-guides/master/ruby-style.yml
|
3
|
+
|
1
4
|
AllCops:
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
SuggestExtensions: false
|
5
|
+
NewCops: enable
|
6
|
+
TargetRubyVersion: 3.0.1
|
7
|
+
Style/ClassAndModuleChildren:
|
8
|
+
EnforcedStyle: compact
|
7
9
|
Metrics/BlockLength:
|
8
|
-
IgnoredMethods: [
|
9
|
-
'class_methods',
|
10
|
-
'context',
|
11
|
-
'define',
|
12
|
-
'describe',
|
13
|
-
'it',
|
14
|
-
'let',
|
15
|
-
'namespace',
|
16
|
-
'task'
|
17
|
-
]
|
18
|
-
Style/CollectionMethods:
|
19
|
-
Description: Preferred collection methods.
|
20
|
-
StyleGuide: https://github.com/bbatsov/ruby-style-guide#map-find-select-reduce-size
|
21
|
-
Enabled: true
|
22
|
-
PreferredMethods:
|
23
|
-
collect: map
|
24
|
-
collect!: map!
|
25
|
-
find_all: select
|
26
|
-
reduce:
|
27
|
-
inject: reduce
|
28
|
-
find:
|
29
|
-
detect: find
|
30
|
-
Style/GuardClause:
|
31
|
-
Description: Check for conditionals that can be replaced with guard clauses
|
32
|
-
StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-nested-conditionals
|
33
|
-
Enabled: true
|
34
|
-
MinBodyLength: 1
|
35
|
-
Style/IfUnlessModifier:
|
36
|
-
Description: Favor modifier if/unless usage when you have a single-line body.
|
37
|
-
StyleGuide: https://github.com/bbatsov/ruby-style-guide#if-as-a-modifier
|
38
|
-
Enabled: true
|
39
|
-
Style/OptionHash:
|
40
|
-
Description: Don't use option hashes when you can use keyword arguments.
|
41
|
-
Enabled: true
|
42
|
-
Style/PercentLiteralDelimiters:
|
43
|
-
Description: Use `%`-literal delimiters consistently
|
44
|
-
StyleGuide: https://github.com/bbatsov/ruby-style-guide#percent-literal-braces
|
45
|
-
Enabled: true
|
46
|
-
PreferredDelimiters:
|
47
|
-
"%": "()"
|
48
|
-
"%i": "()"
|
49
|
-
"%q": "()"
|
50
|
-
"%Q": "()"
|
51
|
-
"%r": "{}"
|
52
|
-
"%s": "()"
|
53
|
-
"%w": "()"
|
54
|
-
"%W": "()"
|
55
|
-
"%x": "()"
|
56
|
-
Style/RaiseArgs:
|
57
|
-
Description: Checks the arguments passed to raise/fail.
|
58
|
-
StyleGuide: https://github.com/bbatsov/ruby-style-guide#exception-class-messages
|
59
|
-
Enabled: true
|
60
|
-
EnforcedStyle: exploded
|
61
|
-
SupportedStyles:
|
62
|
-
- compact
|
63
|
-
- exploded
|
64
|
-
Style/SignalException:
|
65
|
-
Description: Checks for proper usage of fail and raise.
|
66
|
-
StyleGuide: https://github.com/bbatsov/ruby-style-guide#fail-method
|
67
|
-
Enabled: true
|
68
|
-
EnforcedStyle: semantic
|
69
|
-
SupportedStyles:
|
70
|
-
- only_raise
|
71
|
-
- only_fail
|
72
|
-
- semantic
|
73
|
-
Style/SingleLineBlockParams:
|
74
|
-
Description: Enforces the names of some block params.
|
75
|
-
StyleGuide: https://github.com/bbatsov/ruby-style-guide#reduce-blocks
|
76
|
-
Enabled: true
|
77
|
-
Methods:
|
78
|
-
- reduce:
|
79
|
-
- a
|
80
|
-
- e
|
81
|
-
- inject:
|
82
|
-
- a
|
83
|
-
- e
|
84
|
-
Style/SingleLineMethods:
|
85
|
-
Description: Avoid single-line methods.
|
86
|
-
StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-single-line-methods
|
87
|
-
Enabled: true
|
88
|
-
AllowIfMethodIsEmpty: true
|
89
|
-
Style/StringLiterals:
|
90
|
-
Description: Checks if uses of quotes match the configured preference.
|
91
|
-
StyleGuide: https://github.com/bbatsov/ruby-style-guide#consistent-string-literals
|
92
|
-
Enabled: true
|
93
|
-
Style/StringLiteralsInInterpolation:
|
94
|
-
Description: Checks if uses of quotes inside expressions in interpolated strings
|
95
|
-
match the configured preference.
|
96
|
-
Enabled: true
|
97
|
-
EnforcedStyle: single_quotes
|
98
|
-
SupportedStyles:
|
99
|
-
- single_quotes
|
100
|
-
- double_quotes
|
101
|
-
Style/TrailingCommaInArguments:
|
102
|
-
EnforcedStyleForMultiline: no_comma
|
103
|
-
Style/TrailingCommaInArrayLiteral:
|
104
|
-
EnforcedStyleForMultiline: no_comma
|
105
|
-
Metrics/AbcSize:
|
106
|
-
Description: A calculated magnitude based on number of assignments, branches, and
|
107
|
-
conditions.
|
108
|
-
Enabled: false
|
109
|
-
Max: 15
|
110
|
-
Metrics/ClassLength:
|
111
|
-
Description: Avoid classes longer than 100 lines of code.
|
112
|
-
Enabled: false
|
113
|
-
CountComments: false
|
114
|
-
Max: 100
|
115
|
-
Metrics/ModuleLength:
|
116
|
-
CountComments: false
|
117
|
-
Max: 100
|
118
|
-
Description: Avoid modules longer than 100 lines of code.
|
119
|
-
Enabled: false
|
120
|
-
Metrics/CyclomaticComplexity:
|
121
|
-
Description: A complexity metric that is strongly correlated to the number of test
|
122
|
-
cases needed to validate a method.
|
123
|
-
Enabled: true
|
124
|
-
Max: 6
|
125
|
-
Metrics/MethodLength:
|
126
|
-
Description: Avoid methods longer than 10 lines of code.
|
127
|
-
StyleGuide: https://github.com/bbatsov/ruby-style-guide#short-methods
|
128
|
-
Enabled: false
|
129
|
-
CountComments: false
|
130
|
-
Max: 10
|
131
|
-
Metrics/ParameterLists:
|
132
|
-
Description: Avoid parameter lists longer than three or four parameters.
|
133
|
-
StyleGuide: https://github.com/bbatsov/ruby-style-guide#too-many-params
|
134
|
-
Enabled: false
|
135
|
-
Max: 5
|
136
|
-
CountKeywordArgs: true
|
137
|
-
Metrics/PerceivedComplexity:
|
138
|
-
Description: A complexity metric geared towards measuring complexity for a human
|
139
|
-
reader.
|
140
|
-
Enabled: false
|
141
|
-
Max: 7
|
142
|
-
Layout/LineLength:
|
143
|
-
Max: 100
|
144
|
-
# To make it possible to copy or click on URIs in the code, we allow lines
|
145
|
-
# contaning a URI to be longer than Max.
|
146
|
-
AllowURI: true
|
147
|
-
URISchemes:
|
148
|
-
- http
|
149
|
-
- https
|
150
|
-
Lint/AssignmentInCondition:
|
151
|
-
Description: Don't use assignment in conditions.
|
152
|
-
StyleGuide: https://github.com/bbatsov/ruby-style-guide#safe-assignment-in-condition
|
153
|
-
Enabled: true
|
154
|
-
AllowSafeAssignment: true
|
155
|
-
Style/InlineComment:
|
156
|
-
Description: Avoid inline comments.
|
157
10
|
Enabled: false
|
158
|
-
|
159
|
-
Description: Use alias_method instead of alias.
|
160
|
-
StyleGuide: https://github.com/bbatsov/ruby-style-guide#alias-method
|
161
|
-
Enabled: true
|
162
|
-
Style/Documentation:
|
163
|
-
Description: Document classes and non-namespace modules.
|
11
|
+
Lint/MissingSuper:
|
164
12
|
Enabled: false
|
165
|
-
Style/DoubleNegation:
|
166
|
-
Description: Checks for uses of double negation (!!).
|
167
|
-
StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-bang-bang
|
168
|
-
Enabled: true
|
169
|
-
Style/EachWithObject:
|
170
|
-
Description: Prefer `each_with_object` over `inject` or `reduce`.
|
171
|
-
Enabled: false
|
172
|
-
Style/EmptyLiteral:
|
173
|
-
Description: Prefer literals to Array.new/Hash.new/String.new.
|
174
|
-
StyleGuide: https://github.com/bbatsov/ruby-style-guide#literal-array-hash
|
175
|
-
Enabled: true
|
176
|
-
Style/ModuleFunction:
|
177
|
-
Description: Checks for usage of `extend self` in modules.
|
178
|
-
StyleGuide: https://github.com/bbatsov/ruby-style-guide#module-function
|
179
|
-
Enabled: true
|
180
|
-
Style/OneLineConditional:
|
181
|
-
Description: Favor the ternary operator(?:) over if/then/else/end constructs.
|
182
|
-
StyleGuide: https://github.com/bbatsov/ruby-style-guide#ternary-operator
|
183
|
-
Enabled: true
|
184
|
-
Style/PerlBackrefs:
|
185
|
-
Description: Avoid Perl-style regex back references.
|
186
|
-
StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-perl-regexp-last-matchers
|
187
|
-
Enabled: true
|
188
|
-
Style/Send:
|
189
|
-
Description: Prefer `Object#__send__` or `Object#public_send` to `send`, as `send`
|
190
|
-
may overlap with existing methods.
|
191
|
-
StyleGuide: https://github.com/bbatsov/ruby-style-guide#prefer-public-send
|
192
|
-
Enabled: true
|
193
|
-
Style/SpecialGlobalVars:
|
194
|
-
Description: Avoid Perl-style global variables.
|
195
|
-
StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-cryptic-perlisms
|
196
|
-
Enabled: true
|
197
|
-
Style/VariableInterpolation:
|
198
|
-
Description: Don't interpolate global, instance and class variables directly in
|
199
|
-
strings.
|
200
|
-
StyleGuide: https://github.com/bbatsov/ruby-style-guide#curlies-interpolate
|
201
|
-
Enabled: false
|
202
|
-
Style/WhenThen:
|
203
|
-
Description: Use when x then ... for one-line cases.
|
204
|
-
StyleGuide: https://github.com/bbatsov/ruby-style-guide#one-line-cases
|
205
|
-
Enabled: true
|
206
|
-
Lint/EachWithObjectArgument:
|
207
|
-
Description: Check for immutable argument given to each_with_object.
|
208
|
-
Enabled: true
|
209
|
-
Lint/SuppressedException:
|
210
|
-
Description: Don't suppress exception.
|
211
|
-
StyleGuide: https://github.com/bbatsov/ruby-style-guide#dont-hide-exceptions
|
212
|
-
Enabled: false
|
213
|
-
Lint/LiteralAsCondition:
|
214
|
-
Description: Checks of literals used in conditions.
|
215
|
-
Enabled: true
|
216
|
-
Lint/LiteralInInterpolation:
|
217
|
-
Description: Checks for literals used in interpolation.
|
218
|
-
Enabled: true
|
219
|
-
Layout/DotPosition:
|
220
|
-
Description: Checks the position of the dot in multi-line method calls.
|
221
|
-
StyleGuide: https://github.com/bbatsov/ruby-style-guide#consistent-multi-line-chains
|
222
|
-
Enabled: true
|
223
|
-
EnforcedStyle: leading
|
224
|
-
SupportedStyles:
|
225
|
-
- leading
|
226
|
-
- trailing
|
227
|
-
Layout/MultilineOperationIndentation:
|
228
|
-
EnforcedStyle: indented
|
229
|
-
SupportedStyles:
|
230
|
-
- aligned
|
231
|
-
- indented
|
232
|
-
Layout/MultilineMethodCallIndentation:
|
233
|
-
EnforcedStyle: indented
|
234
|
-
SupportedStyles:
|
235
|
-
- aligned
|
236
|
-
- indented
|
237
|
-
Layout/SpaceInsidePercentLiteralDelimiters:
|
238
|
-
Description: 'No unnecessary spaces inside delimiters of %i/%w/%x literals.'
|
239
|
-
Enabled: false
|
240
|
-
Layout/SpaceInLambdaLiteral:
|
241
|
-
Description: 'Checks for spaces in lambda literals.'
|
242
|
-
Enabled: false
|
243
|
-
Naming/FileName:
|
244
|
-
Description: Use snake_case for source file names.
|
245
|
-
StyleGuide: https://github.com/bbatsov/ruby-style-guide#snake-case-files
|
246
|
-
Enabled: true
|
247
|
-
Exclude: []
|
248
|
-
Naming/PredicateName:
|
249
|
-
Description: Check the names of predicate methods.
|
250
|
-
StyleGuide: https://github.com/bbatsov/ruby-style-guide#bool-methods-qmark
|
251
|
-
Enabled: true
|
252
|
-
NamePrefix:
|
253
|
-
- is_
|
254
|
-
- has_
|
255
|
-
- have_
|
256
|
-
ForbiddenPrefixes:
|
257
|
-
- is_
|
258
|
-
Exclude:
|
259
|
-
- spec/**/*
|
260
|
-
Naming/AccessorMethodName:
|
261
|
-
Description: Check the naming of accessor methods for get_/set_.
|
262
|
-
Enabled: false
|
263
|
-
Layout/EmptyLinesAroundAttributeAccessor:
|
264
|
-
Description: "Keep blank lines around attribute accessors."
|
265
|
-
Enabled: true
|
266
|
-
AllowAliasSyntax: true
|
267
|
-
AllowedMethods:
|
268
|
-
- alias_method
|
269
|
-
- public
|
270
|
-
- protected
|
271
|
-
- private
|
272
|
-
Layout/SpaceAroundMethodCallOperator:
|
273
|
-
Description: 'Checks method call operators to not have spaces around them.'
|
274
|
-
Enabled: true
|
275
|
-
Lint/DeprecatedOpenSSLConstant:
|
276
|
-
Description: "Don't use algorithm constants for `OpenSSL::Cipher` and `OpenSSL::Digest`."
|
277
|
-
Enabled: true
|
278
|
-
Lint/MixedRegexpCaptureTypes:
|
279
|
-
Description: 'Do not mix named captures and numbered captures in a Regexp literal.'
|
280
|
-
Enabled: true
|
281
|
-
Lint/RaiseException:
|
282
|
-
Description: Checks for `raise` or `fail` statements which are raising `Exception` class.
|
283
|
-
Enabled: true
|
284
|
-
Safe: false
|
285
|
-
AllowedImplicitNamespaces:
|
286
|
-
- 'Gem'
|
287
|
-
Lint/StructNewOverride:
|
288
|
-
Description: 'Disallow overriding the `Struct` built-in methods via `Struct.new`.'
|
289
|
-
Enabled: true
|
290
|
-
Style/ExponentialNotation:
|
291
|
-
Description: 'When using exponential notation, favor a mantissa between 1 (inclusive) and 10 (exclusive).'
|
292
|
-
Enabled: true
|
293
|
-
EnforcedStyle: scientific
|
294
|
-
SupportedStyles:
|
295
|
-
- scientific
|
296
|
-
- engineering
|
297
|
-
- integral
|
298
|
-
Style/HashEachMethods:
|
299
|
-
Description: 'Use Hash#each_key and Hash#each_value.'
|
300
|
-
Enabled: true
|
301
|
-
Safe: false
|
302
|
-
Style/HashTransformKeys:
|
303
|
-
Description: 'Prefer `transform_keys` over `each_with_object` and `map`.'
|
304
|
-
Enabled: true
|
305
|
-
Safe: false
|
306
|
-
Style/HashTransformValues:
|
307
|
-
Description: 'Prefer `transform_values` over `each_with_object` and `map`.'
|
308
|
-
Enabled: true
|
309
|
-
Safe: false
|
310
|
-
Style/RedundantFetchBlock:
|
311
|
-
Description: >-
|
312
|
-
Use `fetch(key, value)` instead of `fetch(key) { value }`
|
313
|
-
when value has Numeric, Rational, Complex, Symbol or String type, `false`, `true`, `nil` or is a constant.
|
314
|
-
Enabled: true
|
315
|
-
Safe: false
|
316
|
-
SafeForConstants: false
|
317
|
-
Style/RedundantRegexpCharacterClass:
|
318
|
-
Description: 'Checks for unnecessary single-element Regexp character classes.'
|
319
|
-
Enabled: true
|
320
|
-
Style/RedundantRegexpEscape:
|
321
|
-
Description: 'Checks for redundant escapes in Regexps.'
|
322
|
-
Enabled: true
|
323
|
-
Style/SlicingWithRange:
|
324
|
-
Description: 'Checks array slicing is done with endless ranges when suitable.'
|
325
|
-
Enabled: true
|
326
|
-
Safe: false
|
327
|
-
Style/AccessorGrouping:
|
328
|
-
Enabled: true
|
329
|
-
Style/BisectedAttrAccessor:
|
330
|
-
Enabled: true
|
331
|
-
Style/RedundantAssignment:
|
332
|
-
Enabled: true
|
333
|
-
Style/FrozenStringLiteralComment:
|
334
|
-
Enabled: true
|
335
|
-
Style/ClassAndModuleChildren:
|
336
|
-
EnforcedStyle: compact
|
337
|
-
Lint/DuplicateElsifCondition:
|
338
|
-
Enabled: true
|
339
|
-
Style/ArrayCoercion:
|
340
|
-
Enabled: true
|
341
|
-
Style/CaseLikeIf:
|
342
|
-
Enabled: true
|
343
|
-
Style/HashAsLastArrayItem:
|
344
|
-
Enabled: true
|
345
|
-
Style/HashLikeCase:
|
346
|
-
Enabled: true
|
347
|
-
Style/RedundantFileExtensionInRequire:
|
348
|
-
Enabled: true
|
349
|
-
Lint/DuplicateRegexpCharacterClassElement:
|
350
|
-
Enabled: true
|
351
|
-
Lint/EmptyBlock:
|
352
|
-
Enabled: true
|
353
|
-
Lint/ToEnumArguments:
|
354
|
-
Enabled: true
|
355
|
-
Lint/UnmodifiedReduceAccumulator:
|
356
|
-
Enabled: true
|
357
|
-
Style/ArgumentsForwarding:
|
358
|
-
Enabled: true
|
359
|
-
Style/DocumentDynamicEvalDefinition:
|
360
|
-
Enabled: true
|
361
|
-
Style/SwapValues:
|
362
|
-
Enabled: true
|
363
|
-
Layout/SpaceBeforeBrackets:
|
364
|
-
Enabled: true
|
365
|
-
Lint/AmbiguousAssignment:
|
366
|
-
Enabled: true
|
367
|
-
Lint/DuplicateBranch:
|
368
|
-
Enabled: true
|
369
|
-
Lint/EmptyClass:
|
370
|
-
Enabled: true
|
371
|
-
Lint/NoReturnInBeginEndBlocks:
|
372
|
-
Enabled: true
|
373
|
-
Lint/UnexpectedBlockArity:
|
374
|
-
Enabled: true
|
375
|
-
Style/CollectionCompact:
|
376
|
-
Enabled: true
|
377
|
-
Style/HashExcept:
|
378
|
-
Enabled: true
|
379
|
-
Style/NegatedIfElseCondition:
|
380
|
-
Enabled: true
|
381
|
-
Style/NilLambda:
|
382
|
-
Enabled: true
|
383
|
-
Style/RedundantArgument:
|
384
|
-
Enabled: true
|
385
|
-
Lint/DeprecatedConstants:
|
386
|
-
Enabled: true
|
387
|
-
Lint/LambdaWithoutLiteralBlock:
|
388
|
-
Enabled: true
|
389
|
-
Lint/RedundantDirGlobSort:
|
390
|
-
Enabled: true
|
391
|
-
Style/EndlessMethod:
|
392
|
-
Enabled: true
|
data/Gemfile.lock
CHANGED
@@ -1,16 +1,16 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
founders_toolkit (0.
|
4
|
+
founders_toolkit (0.7.0)
|
5
5
|
activemodel (~> 6.1)
|
6
6
|
activesupport (~> 6.1)
|
7
7
|
|
8
8
|
GEM
|
9
9
|
remote: https://rubygems.org/
|
10
10
|
specs:
|
11
|
-
activemodel (6.1.3.
|
12
|
-
activesupport (= 6.1.3.
|
13
|
-
activesupport (6.1.3.
|
11
|
+
activemodel (6.1.3.2)
|
12
|
+
activesupport (= 6.1.3.2)
|
13
|
+
activesupport (6.1.3.2)
|
14
14
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
15
15
|
i18n (>= 1.6, < 2)
|
16
16
|
minitest (>= 5.1)
|
@@ -19,7 +19,7 @@ GEM
|
|
19
19
|
ast (2.4.2)
|
20
20
|
concurrent-ruby (1.1.8)
|
21
21
|
diff-lcs (1.4.4)
|
22
|
-
i18n (1.8.
|
22
|
+
i18n (1.8.10)
|
23
23
|
concurrent-ruby (~> 1.0)
|
24
24
|
minitest (5.14.4)
|
25
25
|
parallel (1.20.1)
|
@@ -61,6 +61,7 @@ GEM
|
|
61
61
|
|
62
62
|
PLATFORMS
|
63
63
|
x86_64-darwin-19
|
64
|
+
x86_64-darwin-20
|
64
65
|
|
65
66
|
DEPENDENCIES
|
66
67
|
founders_toolkit!
|
data/founders_toolkit.gemspec
CHANGED
@@ -12,7 +12,7 @@ Gem::Specification.new do |spec|
|
|
12
12
|
spec.description = 'Founders Toolkit for Rails'
|
13
13
|
spec.homepage = 'https://github.com/trobrock/founders-toolkit'
|
14
14
|
spec.license = 'MIT'
|
15
|
-
spec.required_ruby_version = Gem::Requirement.new('>=
|
15
|
+
spec.required_ruby_version = Gem::Requirement.new('>= 3.0.1')
|
16
16
|
|
17
17
|
spec.metadata['homepage_uri'] = spec.homepage
|
18
18
|
spec.metadata['source_code_uri'] = 'https://github.com/trobrock/founders-toolkit.git'
|
@@ -0,0 +1,64 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
source_paths << File.expand_path('templates', __dir__)
|
4
|
+
|
5
|
+
say 'Copy the files'
|
6
|
+
%w(
|
7
|
+
.rubocop.yml
|
8
|
+
Procfile
|
9
|
+
app/controllers/sessions_controller.rb
|
10
|
+
app/controllers/users_controller.rb
|
11
|
+
app/models/current.rb
|
12
|
+
app/models/guest.rb
|
13
|
+
app/models/user.rb
|
14
|
+
app/views/sessions/new.html.erb
|
15
|
+
).each do |file|
|
16
|
+
copy_file(file)
|
17
|
+
end
|
18
|
+
|
19
|
+
say 'Adding routes'
|
20
|
+
route 'resource :session'
|
21
|
+
route 'resource :user'
|
22
|
+
|
23
|
+
say 'Brew the things'
|
24
|
+
copy_file 'Brewfile'
|
25
|
+
run 'brew bundle'
|
26
|
+
|
27
|
+
say 'Add gems'
|
28
|
+
gem 'hotwire-rails'
|
29
|
+
gem 'tailwindcss-rails'
|
30
|
+
gem 'resque'
|
31
|
+
gem 'resque-scheduler'
|
32
|
+
gem_group :development do
|
33
|
+
gem 'foreman'
|
34
|
+
gem 'rubocop'
|
35
|
+
end
|
36
|
+
run 'bin/bundle install'
|
37
|
+
|
38
|
+
say 'Install Tailwind CSS'
|
39
|
+
rails_command 'tailwindcss:install'
|
40
|
+
|
41
|
+
say 'Install Hotwire'
|
42
|
+
rails_command 'hotwire:install'
|
43
|
+
|
44
|
+
say 'Add Standard'
|
45
|
+
run 'yarn add --dev standardjs @babel/eslint-parser'
|
46
|
+
|
47
|
+
package_json = JSON.parse(File.read('package.json'))
|
48
|
+
package_json['standard'] = {
|
49
|
+
globals: %w(
|
50
|
+
fetch
|
51
|
+
FormData
|
52
|
+
CustomEvent
|
53
|
+
IntersectionObserver
|
54
|
+
),
|
55
|
+
parser: '@babel/eslint-parser'
|
56
|
+
}
|
57
|
+
package_json['babel'] = {
|
58
|
+
presets: [
|
59
|
+
'./node_modules/@rails/webpacker/package/babel/preset.js'
|
60
|
+
]
|
61
|
+
}
|
62
|
+
File.open('package.json', 'w') do |file|
|
63
|
+
file.write(JSON.pretty_generate(package_json))
|
64
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
class UsersController < ApplicationController
|
4
|
+
skip_before_action :redirect_if_set, only: %i(new create)
|
5
|
+
skip_before_action :authenticate, only: %i(new create)
|
6
|
+
|
7
|
+
def new
|
8
|
+
@user = User.new
|
9
|
+
end
|
10
|
+
|
11
|
+
def create
|
12
|
+
@user = User.new(user_params)
|
13
|
+
|
14
|
+
if @user.save
|
15
|
+
sign_in(@user)
|
16
|
+
redirect_to :root
|
17
|
+
else
|
18
|
+
render :new, status: :unprocessable_entity
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
def edit; end
|
23
|
+
|
24
|
+
def update
|
25
|
+
if Current.user.update(user_params)
|
26
|
+
redirect_to [:edit, Current.user], notice: 'Successfully updated your profile.'
|
27
|
+
else
|
28
|
+
render :edit, status: :unprocessable_entity
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
private
|
33
|
+
|
34
|
+
def user_params
|
35
|
+
params.require(:user).permit(:email, :password, :password_confirmation, :current_password)
|
36
|
+
end
|
37
|
+
end
|
File without changes
|
@@ -0,0 +1,33 @@
|
|
1
|
+
<div class="flex flex-col space-y-4 justify-center items-center h-screen">
|
2
|
+
<% if @user.errors.present? %>
|
3
|
+
<div class="py-2 px-4 bg-red-500 rounded">
|
4
|
+
Could not create your account because of the following errors:
|
5
|
+
<ul class="list-disc ml-6">
|
6
|
+
<% @user.errors.full_messages.each do |message| %>
|
7
|
+
<li><%= message %></li>
|
8
|
+
<% end %>
|
9
|
+
</ul>
|
10
|
+
</div>
|
11
|
+
<% end %>
|
12
|
+
<% form_with model: @user, class: 'flex-col space-y-2' do |f| %>
|
13
|
+
<div class="flex justify-between space-x-2 items-center">
|
14
|
+
<%= f.label :email %>
|
15
|
+
<%= f.text_field :email, class: 'rounded-sm px-4 py-2 border border-gray-700 bg-gray-800' %>
|
16
|
+
</div>
|
17
|
+
|
18
|
+
<div class="flex justify-between space-x-2 items-center">
|
19
|
+
<%= f.label :password %>
|
20
|
+
<%= f.password_field :password, class: 'rounded-sm px-4 py-2 border border-gray-700 bg-gray-800' %>
|
21
|
+
</div>
|
22
|
+
|
23
|
+
<div class="flex justify-between space-x-2 items-center">
|
24
|
+
<%= f.label :password_confirmation %>
|
25
|
+
<%= f.password_field :password_confirmation, class: 'rounded-sm px-4 py-2 border border-gray-700 bg-gray-800' %>
|
26
|
+
</div>
|
27
|
+
|
28
|
+
<div class="flex justify-between items-end">
|
29
|
+
<%= link_to 'or Login', new_session_path, class: 'text-blue-500 text-underline font-sans text-lg' %>
|
30
|
+
<%= f.submit 'Sign Up', class: 'rounded bg-blue-600 py-2 px-4' %>
|
31
|
+
</div>
|
32
|
+
<% end %>
|
33
|
+
</div>
|
data/lib/tasks/install.rake
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
def
|
3
|
+
def run_founders_install_template(path)
|
4
4
|
system "#{RbConfig.ruby} ./bin/rails app:template LOCATION=#{File.expand_path(
|
5
5
|
"../install/#{path}.rb", __dir__
|
6
6
|
)}"
|
@@ -9,8 +9,6 @@ end
|
|
9
9
|
namespace :founders_toolkit do
|
10
10
|
desc 'Install Founders Toolkit'
|
11
11
|
task :install do
|
12
|
-
|
13
|
-
run_install_template 'current'
|
14
|
-
run_install_template 'linters'
|
12
|
+
run_founders_install_template 'install'
|
15
13
|
end
|
16
14
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: founders_toolkit
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Trae Robrock
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: exe
|
11
11
|
cert_chain: []
|
12
|
-
date: 2021-
|
12
|
+
date: 2021-05-15 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activemodel
|
@@ -71,6 +71,7 @@ files:
|
|
71
71
|
- lib/founders_toolkit/auth/securable.rb
|
72
72
|
- lib/founders_toolkit/auth/securable/controller.rb
|
73
73
|
- lib/founders_toolkit/auth/securable/current_attributes.rb
|
74
|
+
- lib/founders_toolkit/auth/securable/guest.rb
|
74
75
|
- lib/founders_toolkit/auth/securable/model.rb
|
75
76
|
- lib/founders_toolkit/auth/securable/sessions_controller.rb
|
76
77
|
- lib/founders_toolkit/auth/securable/validations/protected_validator.rb
|
@@ -83,11 +84,16 @@ files:
|
|
83
84
|
- lib/founders_toolkit/util/lockable.rb
|
84
85
|
- lib/founders_toolkit/util/rate_limitable.rb
|
85
86
|
- lib/founders_toolkit/version.rb
|
86
|
-
- lib/install/
|
87
|
-
- lib/install/gems.rb
|
88
|
-
- lib/install/linters.rb
|
87
|
+
- lib/install/install.rb
|
89
88
|
- lib/install/templates/.rubocop.yml
|
90
|
-
- lib/install/templates/
|
89
|
+
- lib/install/templates/Brewfile
|
90
|
+
- lib/install/templates/Procfile
|
91
|
+
- lib/install/templates/app/controllers/sessions_controller.rb
|
92
|
+
- lib/install/templates/app/controllers/users_controller.rb
|
93
|
+
- lib/install/templates/app/models/current.rb
|
94
|
+
- lib/install/templates/app/models/guest.rb
|
95
|
+
- lib/install/templates/app/models/user.rb
|
96
|
+
- lib/install/templates/app/views/sessions/new.html.erb
|
91
97
|
- lib/tasks/install.rake
|
92
98
|
homepage: https://github.com/trobrock/founders-toolkit
|
93
99
|
licenses:
|
@@ -103,14 +109,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
103
109
|
requirements:
|
104
110
|
- - ">="
|
105
111
|
- !ruby/object:Gem::Version
|
106
|
-
version:
|
112
|
+
version: 3.0.1
|
107
113
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
108
114
|
requirements:
|
109
115
|
- - ">="
|
110
116
|
- !ruby/object:Gem::Version
|
111
117
|
version: '0'
|
112
118
|
requirements: []
|
113
|
-
rubygems_version: 3.2.
|
119
|
+
rubygems_version: 3.2.15
|
114
120
|
signing_key:
|
115
121
|
specification_version: 4
|
116
122
|
summary: Founders Toolkit for Rails
|
data/lib/install/current.rb
DELETED
data/lib/install/gems.rb
DELETED
data/lib/install/linters.rb
DELETED