smart_dump 0.1.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.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: b7091b9ca91a89dfdcad704e9a5da3c9597e07bb26270e697d1497f40d49c044
4
+ data.tar.gz: 3c082edf663245d963ffc0e125ac78c3e83c49dcd40cc12066d5f7e1fe137abe
5
+ SHA512:
6
+ metadata.gz: 37ff3efd61112489babdc3f2ed109e7aea457836458655284c64154b0375c4f20183d6297101b1a17cf57de4e04c6594df76aeca003db0c550d3aa377a56343c
7
+ data.tar.gz: 2ccd468b8f1cf75c46acfa916c1aa7af387518722bb7849f72682ceabee4089e10b642b402e551224827426c18e5a263c8949547bdab9bc6fe6b0d012f7feb3c
@@ -0,0 +1,8 @@
1
+ /.bundle/
2
+ /.yardoc
3
+ /_yardoc/
4
+ /coverage/
5
+ /doc/
6
+ /pkg/
7
+ /spec/reports/
8
+ /tmp/
@@ -0,0 +1,640 @@
1
+ AllCops:
2
+ Exclude:
3
+ - db/schema.rb
4
+
5
+ Naming/AccessorMethodName:
6
+ Description: Check the naming of accessor methods for get_/set_.
7
+ Enabled: false
8
+
9
+ Style/Alias:
10
+ Description: 'Use alias_method instead of alias.'
11
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#alias-method'
12
+ Enabled: false
13
+
14
+ Style/ArrayJoin:
15
+ Description: 'Use Array#join instead of Array#*.'
16
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#array-join'
17
+ Enabled: false
18
+
19
+ Style/AsciiComments:
20
+ Description: 'Use only ascii symbols in comments.'
21
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#english-comments'
22
+ Enabled: false
23
+
24
+ Naming/AsciiIdentifiers:
25
+ Description: 'Use only ascii symbols in identifiers.'
26
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#english-identifiers'
27
+ Enabled: false
28
+
29
+ Style/Attr:
30
+ Description: 'Checks for uses of Module#attr.'
31
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#attr'
32
+ Enabled: false
33
+
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: false
38
+
39
+ Style/CaseEquality:
40
+ Description: 'Avoid explicit use of the case equality operator(===).'
41
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-case-equality'
42
+ Enabled: false
43
+
44
+ Style/CharacterLiteral:
45
+ Description: 'Checks for uses of character literals.'
46
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-character-literals'
47
+ Enabled: false
48
+
49
+ Style/ClassAndModuleChildren:
50
+ Description: 'Checks style of children classes and modules.'
51
+ Enabled: true
52
+ EnforcedStyle: nested
53
+
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
+ Style/ClassVars:
63
+ Description: 'Avoid the use of class variables.'
64
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-class-vars'
65
+ Enabled: false
66
+
67
+ Style/CollectionMethods:
68
+ Enabled: true
69
+ PreferredMethods:
70
+ find: detect
71
+ inject: reduce
72
+ collect: map
73
+ find_all: select
74
+
75
+ Style/ColonMethodCall:
76
+ Description: 'Do not use :: for method call.'
77
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#double-colons'
78
+ Enabled: false
79
+
80
+ Style/CommentAnnotation:
81
+ Description: >-
82
+ Checks formatting of special comments
83
+ (TODO, FIXME, OPTIMIZE, HACK, REVIEW).
84
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#annotate-keywords'
85
+ Enabled: false
86
+
87
+ Metrics/AbcSize:
88
+ Description: >-
89
+ A calculated magnitude based on number of assignments,
90
+ branches, and conditions.
91
+ Enabled: false
92
+
93
+ Metrics/BlockLength:
94
+ CountComments: true # count full line comments?
95
+ Max: 25
96
+ ExcludedMethods: []
97
+ Exclude:
98
+ - "spec/**/*"
99
+
100
+ Metrics/CyclomaticComplexity:
101
+ Description: >-
102
+ A complexity metric that is strongly correlated to the number
103
+ of test cases needed to validate a method.
104
+ Enabled: false
105
+
106
+ Rails/Delegate:
107
+ Description: 'Prefer delegate method for delegations.'
108
+ Enabled: false
109
+
110
+ Style/PreferredHashMethods:
111
+ Description: 'Checks use of `has_key?` and `has_value?` Hash methods.'
112
+ StyleGuide: '#hash-key'
113
+ Enabled: false
114
+
115
+ Style/Documentation:
116
+ Description: 'Document classes and non-namespace modules.'
117
+ Enabled: false
118
+
119
+ Style/DoubleNegation:
120
+ Description: 'Checks for uses of double negation (!!).'
121
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-bang-bang'
122
+ Enabled: false
123
+
124
+ Style/EachWithObject:
125
+ Description: 'Prefer `each_with_object` over `inject` or `reduce`.'
126
+ Enabled: false
127
+
128
+ Style/EmptyLiteral:
129
+ Description: 'Prefer literals to Array.new/Hash.new/String.new.'
130
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#literal-array-hash'
131
+ Enabled: false
132
+
133
+ # Checks whether the source file has a utf-8 encoding comment or not
134
+ # AutoCorrectEncodingComment must match the regex
135
+ # /#.*coding\s?[:=]\s?(?:UTF|utf)-8/
136
+ Style/Encoding:
137
+ Enabled: false
138
+
139
+ Style/EvenOdd:
140
+ Description: 'Favor the use of Fixnum#even? && Fixnum#odd?'
141
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#predicate-methods'
142
+ Enabled: false
143
+
144
+ Naming/FileName:
145
+ Description: 'Use snake_case for source file names.'
146
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#snake-case-files'
147
+ Enabled: false
148
+
149
+ Style/FrozenStringLiteralComment:
150
+ Description: >-
151
+ Add the frozen_string_literal comment to the top of files
152
+ to help transition from Ruby 2.3.0 to Ruby 3.0.
153
+ Enabled: false
154
+
155
+ Style/FlipFlop:
156
+ Description: 'Checks for flip flops'
157
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-flip-flops'
158
+ Enabled: false
159
+
160
+ Style/FormatString:
161
+ Description: 'Enforce the use of Kernel#sprintf, Kernel#format or String#%.'
162
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#sprintf'
163
+ Enabled: false
164
+
165
+ Style/GlobalVars:
166
+ Description: 'Do not introduce global variables.'
167
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#instance-vars'
168
+ Reference: 'http://www.zenspider.com/Languages/Ruby/QuickRef.html'
169
+ Enabled: false
170
+
171
+ Style/GuardClause:
172
+ Description: 'Check for conditionals that can be replaced with guard clauses'
173
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-nested-conditionals'
174
+ Enabled: false
175
+
176
+ Style/IfUnlessModifier:
177
+ Description: >-
178
+ Favor modifier if/unless usage when you have a
179
+ single-line body.
180
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#if-as-a-modifier'
181
+ Enabled: false
182
+
183
+ Style/IfWithSemicolon:
184
+ Description: 'Do not use if x; .... Use the ternary operator instead.'
185
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-semicolon-ifs'
186
+ Enabled: false
187
+
188
+ Style/InlineComment:
189
+ Description: 'Avoid inline comments.'
190
+ Enabled: false
191
+
192
+ Style/Lambda:
193
+ Description: 'Use the new lambda literal syntax for single-line blocks.'
194
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#lambda-multi-line'
195
+ Enabled: false
196
+
197
+ Style/LambdaCall:
198
+ Description: 'Use lambda.call(...) instead of lambda.(...).'
199
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#proc-call'
200
+ Enabled: false
201
+
202
+ Style/LineEndConcatenation:
203
+ Description: >-
204
+ Use \ instead of + or << to concatenate two string literals at
205
+ line end.
206
+ Enabled: false
207
+
208
+ Metrics/LineLength:
209
+ Description: 'Limit lines to 80 characters.'
210
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#80-character-limits'
211
+ Max: 80
212
+
213
+ Metrics/MethodLength:
214
+ Description: 'Avoid methods longer than 10 lines of code.'
215
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#short-methods'
216
+ Enabled: false
217
+
218
+ Style/ModuleFunction:
219
+ Description: 'Checks for usage of `extend self` in modules.'
220
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#module-function'
221
+ Enabled: false
222
+
223
+ Style/MultilineBlockChain:
224
+ Description: 'Avoid multi-line chains of blocks.'
225
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#single-line-blocks'
226
+ Enabled: false
227
+
228
+ Style/NegatedIf:
229
+ Description: >-
230
+ Favor unless over if for negative conditions
231
+ (or control flow or).
232
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#unless-for-negatives'
233
+ Enabled: false
234
+
235
+ Style/NegatedWhile:
236
+ Description: 'Favor until over while for negative conditions.'
237
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#until-for-negatives'
238
+ Enabled: false
239
+
240
+ Style/Next:
241
+ Description: 'Use `next` to skip iteration instead of a condition at the end.'
242
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-nested-conditionals'
243
+ Enabled: false
244
+
245
+ Style/NilComparison:
246
+ Description: 'Prefer x.nil? to x == nil.'
247
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#predicate-methods'
248
+ Enabled: false
249
+
250
+ Style/Not:
251
+ Description: 'Use ! instead of not.'
252
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#bang-not-not'
253
+ Enabled: false
254
+
255
+ Style/NumericLiterals:
256
+ Description: >-
257
+ Add underscores to large numeric literals to improve their
258
+ readability.
259
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#underscores-in-numerics'
260
+ Enabled: false
261
+
262
+ Style/OneLineConditional:
263
+ Description: >-
264
+ Favor the ternary operator(?:) over
265
+ if/then/else/end constructs.
266
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#ternary-operator'
267
+ Enabled: false
268
+
269
+ Naming/BinaryOperatorParameterName:
270
+ Description: 'When defining binary operators, name the argument other.'
271
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#other-arg'
272
+ Enabled: false
273
+
274
+ Metrics/ParameterLists:
275
+ Description: 'Avoid parameter lists longer than three or four parameters.'
276
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#too-many-params'
277
+ Enabled: false
278
+
279
+ Style/PercentLiteralDelimiters:
280
+ Description: 'Use `%`-literal delimiters consistently'
281
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#percent-literal-braces'
282
+ Enabled: false
283
+
284
+ Style/PerlBackrefs:
285
+ Description: 'Avoid Perl-style regex back references.'
286
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-perl-regexp-last-matchers'
287
+ Enabled: false
288
+
289
+ Naming/PredicateName:
290
+ Description: 'Check the names of predicate methods.'
291
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#bool-methods-qmark'
292
+ NamePrefixBlacklist:
293
+ - is_
294
+ Exclude:
295
+ - spec/**/*
296
+
297
+ Style/Proc:
298
+ Description: 'Use proc instead of Proc.new.'
299
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#proc'
300
+ Enabled: false
301
+
302
+ Style/RaiseArgs:
303
+ Description: 'Checks the arguments passed to raise/fail.'
304
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#exception-class-messages'
305
+ Enabled: false
306
+
307
+ Style/RegexpLiteral:
308
+ Description: 'Use / or %r around regular expressions.'
309
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#percent-r'
310
+ Enabled: false
311
+
312
+ Style/SelfAssignment:
313
+ Description: >-
314
+ Checks for places where self-assignment shorthand should have
315
+ been used.
316
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#self-assignment'
317
+ Enabled: false
318
+
319
+ Style/SingleLineBlockParams:
320
+ Description: 'Enforces the names of some block params.'
321
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#reduce-blocks'
322
+ Enabled: false
323
+
324
+ Style/SingleLineMethods:
325
+ Description: 'Avoid single-line methods.'
326
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-single-line-methods'
327
+ Enabled: false
328
+
329
+ Style/SignalException:
330
+ Description: 'Checks for proper usage of fail and raise.'
331
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#fail-method'
332
+ Enabled: false
333
+
334
+ Style/SpecialGlobalVars:
335
+ Description: 'Avoid Perl-style global variables.'
336
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-cryptic-perlisms'
337
+ Enabled: false
338
+
339
+ Style/StringLiterals:
340
+ Description: 'Checks if uses of quotes match the configured preference.'
341
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#consistent-string-literals'
342
+ EnforcedStyle: double_quotes
343
+ Enabled: true
344
+
345
+ Style/TrailingCommaInArguments:
346
+ Description: 'Checks for trailing comma in argument lists.'
347
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-trailing-array-commas'
348
+ EnforcedStyleForMultiline: comma
349
+ SupportedStylesForMultiline:
350
+ - comma
351
+ - consistent_comma
352
+ - no_comma
353
+ Enabled: true
354
+
355
+ Style/TrailingCommaInLiteral:
356
+ Description: 'Checks for trailing comma in array and hash literals.'
357
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-trailing-array-commas'
358
+ EnforcedStyleForMultiline: comma
359
+ SupportedStylesForMultiline:
360
+ - comma
361
+ - consistent_comma
362
+ - no_comma
363
+ Enabled: true
364
+
365
+ Style/TrivialAccessors:
366
+ Description: 'Prefer attr_* methods to trivial readers/writers.'
367
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#attr_family'
368
+ Enabled: false
369
+
370
+ Style/VariableInterpolation:
371
+ Description: >-
372
+ Don't interpolate global, instance and class variables
373
+ directly in strings.
374
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#curlies-interpolate'
375
+ Enabled: false
376
+
377
+ Style/WhenThen:
378
+ Description: 'Use when x then ... for one-line cases.'
379
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#one-line-cases'
380
+ Enabled: false
381
+
382
+ Style/WhileUntilModifier:
383
+ Description: >-
384
+ Favor modifier while/until usage when you have a
385
+ single-line body.
386
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#while-as-a-modifier'
387
+ Enabled: false
388
+
389
+ Style/WordArray:
390
+ Description: 'Use %w or %W for arrays of words.'
391
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#percent-w'
392
+ Enabled: false
393
+
394
+ # Layout
395
+
396
+ Layout/AlignParameters:
397
+ Description: 'Here we check if the parameters on a multi-line method call or definition are aligned.'
398
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-double-indent'
399
+ Enabled: false
400
+
401
+ Layout/DotPosition:
402
+ Description: 'Checks the position of the dot in multi-line method calls.'
403
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#consistent-multi-line-chains'
404
+ EnforcedStyle: trailing
405
+
406
+ Layout/ExtraSpacing:
407
+ Description: 'Do not use unnecessary spacing.'
408
+ Enabled: true
409
+
410
+ Layout/MultilineOperationIndentation:
411
+ Description: >-
412
+ Checks indentation of binary operations that span more than
413
+ one line.
414
+ Enabled: true
415
+ EnforcedStyle: indented
416
+
417
+ Layout/MultilineMethodCallIndentation:
418
+ Description: >-
419
+ Checks indentation of method calls with the dot operator
420
+ that span more than one line.
421
+ Enabled: true
422
+ EnforcedStyle: indented
423
+
424
+ Layout/InitialIndentation:
425
+ Description: >-
426
+ Checks the indentation of the first non-blank non-comment line in a file.
427
+ Enabled: false
428
+
429
+ # Lint
430
+
431
+ Lint/AmbiguousOperator:
432
+ Description: >-
433
+ Checks for ambiguous operators in the first argument of a
434
+ method invocation without parentheses.
435
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#parens-as-args'
436
+ Enabled: false
437
+
438
+ Lint/AmbiguousRegexpLiteral:
439
+ Description: >-
440
+ Checks for ambiguous regexp literals in the first argument of
441
+ a method invocation without parenthesis.
442
+ Enabled: false
443
+
444
+ Lint/AssignmentInCondition:
445
+ Description: "Don't use assignment in conditions."
446
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#safe-assignment-in-condition'
447
+ Enabled: false
448
+
449
+ Lint/CircularArgumentReference:
450
+ Description: "Don't refer to the keyword argument in the default value."
451
+ Enabled: false
452
+
453
+ Lint/ConditionPosition:
454
+ Description: >-
455
+ Checks for condition placed in a confusing position relative to
456
+ the keyword.
457
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#same-line-condition'
458
+ Enabled: false
459
+
460
+ Lint/DeprecatedClassMethods:
461
+ Description: 'Check for deprecated class method calls.'
462
+ Enabled: false
463
+
464
+ Lint/DuplicatedKey:
465
+ Description: 'Check for duplicate keys in hash literals.'
466
+ Enabled: false
467
+
468
+ Lint/EachWithObjectArgument:
469
+ Description: 'Check for immutable argument given to each_with_object.'
470
+ Enabled: false
471
+
472
+ Lint/ElseLayout:
473
+ Description: 'Check for odd code arrangement in an else block.'
474
+ Enabled: false
475
+
476
+ Lint/FormatParameterMismatch:
477
+ Description: 'The number of parameters to format/sprint must match the fields.'
478
+ Enabled: false
479
+
480
+ Lint/HandleExceptions:
481
+ Description: "Don't suppress exception."
482
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#dont-hide-exceptions'
483
+ Enabled: false
484
+
485
+ Lint/LiteralInCondition:
486
+ Description: 'Checks of literals used in conditions.'
487
+ Enabled: false
488
+
489
+ Lint/LiteralInInterpolation:
490
+ Description: 'Checks for literals used in interpolation.'
491
+ Enabled: false
492
+
493
+ Lint/Loop:
494
+ Description: >-
495
+ Use Kernel#loop with break rather than begin/end/until or
496
+ begin/end/while for post-loop tests.
497
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#loop-with-break'
498
+ Enabled: false
499
+
500
+ Lint/NestedMethodDefinition:
501
+ Description: 'Do not use nested method definitions.'
502
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-nested-methods'
503
+ Enabled: false
504
+
505
+ Lint/NonLocalExitFromIterator:
506
+ Description: 'Do not use return in iterator to cause non-local exit.'
507
+ Enabled: false
508
+
509
+ Lint/ParenthesesAsGroupedExpression:
510
+ Description: >-
511
+ Checks for method calls with a space before the opening
512
+ parenthesis.
513
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#parens-no-spaces'
514
+ Enabled: false
515
+
516
+ Lint/RequireParentheses:
517
+ Description: >-
518
+ Use parentheses in the method call to avoid confusion
519
+ about precedence.
520
+ Enabled: false
521
+
522
+ Lint/UnderscorePrefixedVariableName:
523
+ Description: 'Do not use prefix `_` for a variable that is used.'
524
+ Enabled: false
525
+
526
+ Lint/UnneededDisable:
527
+ Description: >-
528
+ Checks for rubocop:disable comments that can be removed.
529
+ Note: this cop is not disabled when disabling all cops.
530
+ It must be explicitly disabled.
531
+ Enabled: false
532
+
533
+ Lint/Void:
534
+ Description: 'Possible use of operator/literal/variable in void context.'
535
+ Enabled: false
536
+
537
+ # Performance
538
+
539
+ Performance/CaseWhenSplat:
540
+ Description: >-
541
+ Place `when` conditions that use splat at the end
542
+ of the list of `when` branches.
543
+ Enabled: false
544
+
545
+ Performance/Count:
546
+ Description: >-
547
+ Use `count` instead of `select...size`, `reject...size`,
548
+ `select...count`, `reject...count`, `select...length`,
549
+ and `reject...length`.
550
+ Enabled: false
551
+
552
+ Performance/Detect:
553
+ Description: >-
554
+ Use `detect` instead of `select.first`, `find_all.first`,
555
+ `select.last`, and `find_all.last`.
556
+ Reference: 'https://github.com/JuanitoFatas/fast-ruby#enumerabledetect-vs-enumerableselectfirst-code'
557
+ Enabled: false
558
+
559
+ Performance/FlatMap:
560
+ Description: >-
561
+ Use `Enumerable#flat_map`
562
+ instead of `Enumerable#map...Array#flatten(1)`
563
+ or `Enumberable#collect..Array#flatten(1)`
564
+ Reference: 'https://github.com/JuanitoFatas/fast-ruby#enumerablemaparrayflatten-vs-enumerableflat_map-code'
565
+ Enabled: false
566
+
567
+ Performance/ReverseEach:
568
+ Description: 'Use `reverse_each` instead of `reverse.each`.'
569
+ Reference: 'https://github.com/JuanitoFatas/fast-ruby#enumerablereverseeach-vs-enumerablereverse_each-code'
570
+ Enabled: false
571
+
572
+ Performance/Sample:
573
+ Description: >-
574
+ Use `sample` instead of `shuffle.first`,
575
+ `shuffle.last`, and `shuffle[Fixnum]`.
576
+ Reference: 'https://github.com/JuanitoFatas/fast-ruby#arrayshufflefirst-vs-arraysample-code'
577
+ Enabled: false
578
+
579
+ Performance/Size:
580
+ Description: >-
581
+ Use `size` instead of `count` for counting
582
+ the number of elements in `Array` and `Hash`.
583
+ Reference: 'https://github.com/JuanitoFatas/fast-ruby#arraycount-vs-arraysize-code'
584
+ Enabled: false
585
+
586
+ Performance/StringReplacement:
587
+ Description: >-
588
+ Use `tr` instead of `gsub` when you are replacing the same
589
+ number of characters. Use `delete` instead of `gsub` when
590
+ you are deleting characters.
591
+ Reference: 'https://github.com/JuanitoFatas/fast-ruby#stringgsub-vs-stringtr-code'
592
+ Enabled: false
593
+
594
+ # Rails
595
+
596
+ Rails/ActionFilter:
597
+ Description: 'Enforces consistent use of action filter methods.'
598
+ Enabled: false
599
+
600
+ Rails/Date:
601
+ Description: >-
602
+ Checks the correct usage of date aware methods,
603
+ such as Date.today, Date.current etc.
604
+ Enabled: false
605
+
606
+ Rails/FindBy:
607
+ Description: 'Prefer find_by over where.first.'
608
+ Enabled: false
609
+
610
+ Rails/FindEach:
611
+ Description: 'Prefer all.find_each over all.find.'
612
+ Enabled: false
613
+
614
+ Rails/HasAndBelongsToMany:
615
+ Description: 'Prefer has_many :through to has_and_belongs_to_many.'
616
+ Enabled: false
617
+
618
+ Rails/Output:
619
+ Description: 'Checks for calls to puts, print, etc.'
620
+ Enabled: false
621
+
622
+ Rails/ReadWriteAttribute:
623
+ Description: >-
624
+ Checks for read_attribute(:attr) and
625
+ write_attribute(:attr, val).
626
+ Enabled: false
627
+
628
+ Rails/ScopeArgs:
629
+ Description: 'Checks the arguments of ActiveRecord scopes.'
630
+ Enabled: false
631
+
632
+ Rails/TimeZone:
633
+ Description: 'Checks the correct usage of time zone aware methods.'
634
+ StyleGuide: 'https://github.com/bbatsov/rails-style-guide#time'
635
+ Reference: 'http://danilenko.org/2012/7/6/rails_timezones'
636
+ Enabled: false
637
+
638
+ Rails/Validation:
639
+ Description: 'Use validates :attribute, hash of validations.'
640
+ Enabled: false
@@ -0,0 +1,5 @@
1
+ sudo: false
2
+ language: ruby
3
+ rvm:
4
+ - 2.4.1
5
+ before_install: gem install bundler -v 1.16.0
@@ -0,0 +1,74 @@
1
+ # Contributor Covenant Code of Conduct
2
+
3
+ ## Our Pledge
4
+
5
+ In the interest of fostering an open and welcoming environment, we as
6
+ contributors and maintainers pledge to making participation in our project and
7
+ our community a harassment-free experience for everyone, regardless of age, body
8
+ size, disability, ethnicity, gender identity and expression, level of experience,
9
+ nationality, personal appearance, race, religion, or sexual identity and
10
+ orientation.
11
+
12
+ ## Our Standards
13
+
14
+ Examples of behavior that contributes to creating a positive environment
15
+ include:
16
+
17
+ * Using welcoming and inclusive language
18
+ * Being respectful of differing viewpoints and experiences
19
+ * Gracefully accepting constructive criticism
20
+ * Focusing on what is best for the community
21
+ * Showing empathy towards other community members
22
+
23
+ Examples of unacceptable behavior by participants include:
24
+
25
+ * The use of sexualized language or imagery and unwelcome sexual attention or
26
+ advances
27
+ * Trolling, insulting/derogatory comments, and personal or political attacks
28
+ * Public or private harassment
29
+ * Publishing others' private information, such as a physical or electronic
30
+ address, without explicit permission
31
+ * Other conduct which could reasonably be considered inappropriate in a
32
+ professional setting
33
+
34
+ ## Our Responsibilities
35
+
36
+ Project maintainers are responsible for clarifying the standards of acceptable
37
+ behavior and are expected to take appropriate and fair corrective action in
38
+ response to any instances of unacceptable behavior.
39
+
40
+ Project maintainers have the right and responsibility to remove, edit, or
41
+ reject comments, commits, code, wiki edits, issues, and other contributions
42
+ that are not aligned to this Code of Conduct, or to ban temporarily or
43
+ permanently any contributor for other behaviors that they deem inappropriate,
44
+ threatening, offensive, or harmful.
45
+
46
+ ## Scope
47
+
48
+ This Code of Conduct applies both within project spaces and in public spaces
49
+ when an individual is representing the project or its community. Examples of
50
+ representing a project or community include using an official project e-mail
51
+ address, posting via an official social media account, or acting as an appointed
52
+ representative at an online or offline event. Representation of a project may be
53
+ further defined and clarified by project maintainers.
54
+
55
+ ## Enforcement
56
+
57
+ Instances of abusive, harassing, or otherwise unacceptable behavior may be
58
+ reported by contacting the project team at joshua.klina@gmail.com. All
59
+ complaints will be reviewed and investigated and will result in a response that
60
+ is deemed necessary and appropriate to the circumstances. The project team is
61
+ obligated to maintain confidentiality with regard to the reporter of an incident.
62
+ Further details of specific enforcement policies may be posted separately.
63
+
64
+ Project maintainers who do not follow or enforce the Code of Conduct in good
65
+ faith may face temporary or permanent repercussions as determined by other
66
+ members of the project's leadership.
67
+
68
+ ## Attribution
69
+
70
+ This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
71
+ available at [http://contributor-covenant.org/version/1/4][version]
72
+
73
+ [homepage]: http://contributor-covenant.org
74
+ [version]: http://contributor-covenant.org/version/1/4/
data/Gemfile ADDED
@@ -0,0 +1,6 @@
1
+ source "https://rubygems.org"
2
+
3
+ git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
4
+
5
+ # Specify your gem's dependencies in smart_dump.gemspec
6
+ gemspec
@@ -0,0 +1,131 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ smart_dump (0.1.0)
5
+ rails (>= 4.0)
6
+
7
+ GEM
8
+ remote: https://rubygems.org/
9
+ specs:
10
+ actioncable (5.1.5)
11
+ actionpack (= 5.1.5)
12
+ nio4r (~> 2.0)
13
+ websocket-driver (~> 0.6.1)
14
+ actionmailer (5.1.5)
15
+ actionpack (= 5.1.5)
16
+ actionview (= 5.1.5)
17
+ activejob (= 5.1.5)
18
+ mail (~> 2.5, >= 2.5.4)
19
+ rails-dom-testing (~> 2.0)
20
+ actionpack (5.1.5)
21
+ actionview (= 5.1.5)
22
+ activesupport (= 5.1.5)
23
+ rack (~> 2.0)
24
+ rack-test (>= 0.6.3)
25
+ rails-dom-testing (~> 2.0)
26
+ rails-html-sanitizer (~> 1.0, >= 1.0.2)
27
+ actionview (5.1.5)
28
+ activesupport (= 5.1.5)
29
+ builder (~> 3.1)
30
+ erubi (~> 1.4)
31
+ rails-dom-testing (~> 2.0)
32
+ rails-html-sanitizer (~> 1.0, >= 1.0.3)
33
+ activejob (5.1.5)
34
+ activesupport (= 5.1.5)
35
+ globalid (>= 0.3.6)
36
+ activemodel (5.1.5)
37
+ activesupport (= 5.1.5)
38
+ activerecord (5.1.5)
39
+ activemodel (= 5.1.5)
40
+ activesupport (= 5.1.5)
41
+ arel (~> 8.0)
42
+ activesupport (5.1.5)
43
+ concurrent-ruby (~> 1.0, >= 1.0.2)
44
+ i18n (~> 0.7)
45
+ minitest (~> 5.1)
46
+ tzinfo (~> 1.1)
47
+ arel (8.0.0)
48
+ builder (3.2.3)
49
+ coderay (1.1.2)
50
+ concurrent-ruby (1.0.5)
51
+ crass (1.0.3)
52
+ database_cleaner (1.6.2)
53
+ erubi (1.7.0)
54
+ globalid (0.4.1)
55
+ activesupport (>= 4.2.0)
56
+ i18n (0.9.5)
57
+ concurrent-ruby (~> 1.0)
58
+ loofah (2.2.0)
59
+ crass (~> 1.0.2)
60
+ nokogiri (>= 1.5.9)
61
+ mail (2.7.0)
62
+ mini_mime (>= 0.1.1)
63
+ method_source (0.9.0)
64
+ mini_mime (1.0.0)
65
+ mini_portile2 (2.3.0)
66
+ minitest (5.10.3)
67
+ nio4r (2.2.0)
68
+ nokogiri (1.8.2)
69
+ mini_portile2 (~> 2.3.0)
70
+ pg (0.21.0)
71
+ pry (0.11.2)
72
+ coderay (~> 1.1.0)
73
+ method_source (~> 0.9.0)
74
+ pry-rails (0.3.6)
75
+ pry (>= 0.10.4)
76
+ rack (2.0.4)
77
+ rack-test (0.8.2)
78
+ rack (>= 1.0, < 3)
79
+ rails (5.1.5)
80
+ actioncable (= 5.1.5)
81
+ actionmailer (= 5.1.5)
82
+ actionpack (= 5.1.5)
83
+ actionview (= 5.1.5)
84
+ activejob (= 5.1.5)
85
+ activemodel (= 5.1.5)
86
+ activerecord (= 5.1.5)
87
+ activesupport (= 5.1.5)
88
+ bundler (>= 1.3.0)
89
+ railties (= 5.1.5)
90
+ sprockets-rails (>= 2.0.0)
91
+ rails-dom-testing (2.0.3)
92
+ activesupport (>= 4.2.0)
93
+ nokogiri (>= 1.6)
94
+ rails-html-sanitizer (1.0.3)
95
+ loofah (~> 2.0)
96
+ railties (5.1.5)
97
+ actionpack (= 5.1.5)
98
+ activesupport (= 5.1.5)
99
+ method_source
100
+ rake (>= 0.8.7)
101
+ thor (>= 0.18.1, < 2.0)
102
+ rake (10.5.0)
103
+ sprockets (3.7.1)
104
+ concurrent-ruby (~> 1.0)
105
+ rack (> 1, < 3)
106
+ sprockets-rails (3.2.1)
107
+ actionpack (>= 4.0)
108
+ activesupport (>= 4.0)
109
+ sprockets (>= 3.0.0)
110
+ thor (0.20.0)
111
+ thread_safe (0.3.6)
112
+ tzinfo (1.2.5)
113
+ thread_safe (~> 0.1)
114
+ websocket-driver (0.6.5)
115
+ websocket-extensions (>= 0.1.0)
116
+ websocket-extensions (0.1.3)
117
+
118
+ PLATFORMS
119
+ ruby
120
+
121
+ DEPENDENCIES
122
+ bundler (~> 1.16)
123
+ database_cleaner
124
+ minitest (~> 5.0)
125
+ pg
126
+ pry-rails
127
+ rake (~> 10.0)
128
+ smart_dump!
129
+
130
+ BUNDLED WITH
131
+ 1.16.0
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2017 Josh Klina
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.
@@ -0,0 +1,49 @@
1
+ # SmartDump
2
+
3
+ SmartDump is a small library that moves records from a Rails Database to Yaml files. This can be used to backup data, create seed data, or hold a dataset for developers to work with.
4
+
5
+ ## Installation
6
+
7
+ Add this line to your application's Gemfile:
8
+
9
+ ```ruby
10
+ gem 'smart_dump'
11
+ ```
12
+
13
+ And then execute:
14
+
15
+ $ bundle
16
+
17
+ Or install it yourself as:
18
+
19
+ $ gem install smart_dump
20
+
21
+ ## Usage
22
+
23
+ The library adds two Rake tasks to Rails' list.
24
+
25
+ ### `rake db:fixtures:dump[path, included_models, excluded_models]`
26
+
27
+ The `path` argument is required, which specifies the path in your project as to where the yaml files will be placed. The included and excluded argments take a string of model names separated by a space. They are optional.
28
+
29
+ ### `rake db:fixtures:seed[path]`
30
+
31
+ Takes only the required `path` argument. This will load the data from the YAML files back into the database.
32
+
33
+ ## Development
34
+
35
+ After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake test` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
36
+
37
+ To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
38
+
39
+ ## Contributing
40
+
41
+ Bug reports and pull requests are welcome on GitHub at https://github.com/smart-care/smart-dump. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
42
+
43
+ ## License
44
+
45
+ The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
46
+
47
+ ## Code of Conduct
48
+
49
+ Everyone interacting in the SmartDump project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/[smart-care]/smart_dump/blob/master/CODE_OF_CONDUCT.md).
@@ -0,0 +1,10 @@
1
+ require "bundler/gem_tasks"
2
+ require "rake/testtask"
3
+
4
+ Rake::TestTask.new(:test) do |t|
5
+ t.libs << "test"
6
+ t.libs << "lib"
7
+ t.test_files = FileList["test/**/*_test.rb"]
8
+ end
9
+
10
+ task :default => :test
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require "bundler/setup"
4
+ require "smart_dump"
5
+
6
+ # You can add fixtures and/or initialization code here to make experimenting
7
+ # with your gem easier. You can also use a different console, if you like.
8
+
9
+ # (If you use this, don't forget to add pry to your Gemfile!)
10
+ # require "pry"
11
+ # Pry.start
12
+
13
+ require "irb"
14
+ IRB.start(__FILE__)
@@ -0,0 +1,9 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+ IFS=$'\n\t'
4
+ set -vx
5
+
6
+ bundle install
7
+
8
+ # Set up database
9
+ bundle exec rails db:setup
@@ -0,0 +1,7 @@
1
+ require "smart_dump/version"
2
+ require "smart_dump/railtie"
3
+ require "smart_dump/yaml_creator"
4
+ require "smart_dump/yaml_loader"
5
+
6
+ module SmartDump
7
+ end
@@ -0,0 +1,11 @@
1
+ require 'rails'
2
+
3
+ module SmartDump
4
+ class Railtie < Rails::Railtie
5
+ railtie_name :smart_dump
6
+
7
+ rake_tasks do
8
+ load "tasks/smart_dump.rake"
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,3 @@
1
+ module SmartDump
2
+ VERSION = "0.1.0"
3
+ end
@@ -0,0 +1,73 @@
1
+ require 'fileutils'
2
+
3
+ module SmartDump
4
+ class YamlCreator
5
+ def initialize(path:, included_models: nil, excluded_models: nil)
6
+ @path = path
7
+ @included_models = Array(included_models).map(&:constantize)
8
+ @excluded_models = Array(excluded_models).map(&:constantize)
9
+ @models_to_be_saved = get_relevant_models
10
+ end
11
+
12
+ def dump_models!
13
+ make_data_directory!
14
+ @models_to_be_saved.each { |model| format_and_write_yaml_file!(model) }
15
+ end
16
+
17
+ private
18
+
19
+ def make_data_directory!
20
+ FileUtils::mkdir_p(@path)
21
+ end
22
+
23
+ def format_and_write_yaml_file!(model)
24
+ instances = fetch_model_instances(model)
25
+ output = format_instances(model: model, instances: instances)
26
+ write_yaml_file!(model: model, data: output)
27
+ end
28
+
29
+ def fetch_model_instances(model)
30
+ model.unscoped.all.order('id ASC')
31
+ end
32
+
33
+ def format_instances(model:, instances:)
34
+ output = {}
35
+ instances.each.with_index(1) do |instance, index|
36
+ attrs = instance.attributes
37
+ attrs.delete_if{|k,v| v.nil?}
38
+ output["#{model}_#{index}"] = attrs
39
+ end
40
+ output
41
+ end
42
+
43
+ def write_yaml_file!(model:, data:)
44
+ File.open(yaml_file_path(model), 'w') { |file| file << data.to_yaml }
45
+ end
46
+
47
+ def default_model_list
48
+ Rails.application.eager_load!
49
+ models = ActiveRecord::Base.descendants
50
+ models.select! { |model| model.table_exists? && model.any? }
51
+ models.delete(ActiveRecord::SchemaMigration)
52
+ models
53
+ end
54
+
55
+ def get_relevant_models
56
+ if @included_models.present?
57
+ @included_models & default_model_list
58
+ elsif @excluded_models.present?
59
+ default_model_list - @excluded_models
60
+ else
61
+ default_model_list
62
+ end
63
+ end
64
+
65
+ def yaml_file_path(model)
66
+ File.join(@path, generate_file_name(model) + '.yml')
67
+ end
68
+
69
+ def generate_file_name(model)
70
+ model.table_name
71
+ end
72
+ end
73
+ end
@@ -0,0 +1,17 @@
1
+ require 'active_record/fixtures'
2
+ require 'fileutils'
3
+
4
+ module SmartDump
5
+ class YamlLoader
6
+ def initialize(path)
7
+ @path = path
8
+ end
9
+
10
+ def load_fixtures!
11
+ Dir.glob(File.join(@path,'*.yml')).each do |file|
12
+ base_name = File.basename(file, '.*')
13
+ ActiveRecord::FixtureSet.create_fixtures(@path, base_name)
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,25 @@
1
+
2
+ namespace :db do
3
+ namespace :fixtures do
4
+ desc 'Dumps all models into fixtures.'
5
+ task :dump, [:path, :included, :excluded] => :environment do |t, args|
6
+ path = args[:path].to_s
7
+ included = args[:included].to_s.split(" ")
8
+ excluded = args[:excluded].to_s.split(" ")
9
+ yaml_creator = SmartDump::YamlCreator.new(
10
+ path: path, included_models: included, excluded_models: excluded
11
+ )
12
+
13
+ yaml_creator.dump_models!
14
+ end
15
+
16
+ desc 'Loads fixtures into database'
17
+ task :seed, [:path] => :environment do |t, args|
18
+ path = args.fetch(:path)
19
+
20
+ yaml_loader = SmartDump::YamlLoader.new(path)
21
+
22
+ yaml_loader.load_fixtures!
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,32 @@
1
+ lib = File.expand_path("../lib", __FILE__)
2
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
+ require "smart_dump/version"
4
+
5
+ Gem::Specification.new do |spec|
6
+ spec.name = "smart_dump"
7
+ spec.version = SmartDump::VERSION
8
+ spec.authors = ["Josh Klina"]
9
+ spec.email = ["joshua.klina@gmail.com"]
10
+
11
+ spec.description = %q{Rake task to dump ActiveRecord tables into yaml fixtures}
12
+ spec.summary = %q{Rake task to dump ActiveRecord tables into yaml fixtures. Usage: rake db:fixtures:dump}
13
+ spec.homepage = "https://github.com/jklina/smart_dump"
14
+ spec.license = "MIT"
15
+
16
+ spec.files = `git ls-files -z`.split("\x0").reject do |f|
17
+ f.match(%r{^(test|spec|features)/})
18
+ end
19
+ spec.bindir = "exe"
20
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
21
+ spec.require_paths = ["lib"]
22
+
23
+ spec.required_ruby_version = Gem::Requirement.new('>= 2.0.0')
24
+ spec.add_dependency "rails", ">= 4.0"
25
+
26
+ spec.add_development_dependency "bundler", "~> 1.16"
27
+ spec.add_development_dependency "rake", "~> 10.0"
28
+ spec.add_development_dependency "minitest", "~> 5.0"
29
+ spec.add_development_dependency "pg"
30
+ spec.add_development_dependency "pry-rails"
31
+ spec.add_development_dependency "database_cleaner"
32
+ end
metadata ADDED
@@ -0,0 +1,159 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: smart_dump
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Josh Klina
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2019-10-31 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rails
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '4.0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '4.0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: bundler
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '1.16'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '1.16'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rake
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '10.0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '10.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: minitest
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '5.0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '5.0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: pg
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: pry-rails
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: database_cleaner
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ description: Rake task to dump ActiveRecord tables into yaml fixtures
112
+ email:
113
+ - joshua.klina@gmail.com
114
+ executables: []
115
+ extensions: []
116
+ extra_rdoc_files: []
117
+ files:
118
+ - ".gitignore"
119
+ - ".rubocop"
120
+ - ".travis.yml"
121
+ - CODE_OF_CONDUCT.md
122
+ - Gemfile
123
+ - Gemfile.lock
124
+ - LICENSE.txt
125
+ - README.md
126
+ - Rakefile
127
+ - bin/console
128
+ - bin/setup
129
+ - lib/smart_dump.rb
130
+ - lib/smart_dump/railtie.rb
131
+ - lib/smart_dump/version.rb
132
+ - lib/smart_dump/yaml_creator.rb
133
+ - lib/smart_dump/yaml_loader.rb
134
+ - lib/tasks/smart_dump.rake
135
+ - smart_dump.gemspec
136
+ homepage: https://github.com/jklina/smart_dump
137
+ licenses:
138
+ - MIT
139
+ metadata: {}
140
+ post_install_message:
141
+ rdoc_options: []
142
+ require_paths:
143
+ - lib
144
+ required_ruby_version: !ruby/object:Gem::Requirement
145
+ requirements:
146
+ - - ">="
147
+ - !ruby/object:Gem::Version
148
+ version: 2.0.0
149
+ required_rubygems_version: !ruby/object:Gem::Requirement
150
+ requirements:
151
+ - - ">="
152
+ - !ruby/object:Gem::Version
153
+ version: '0'
154
+ requirements: []
155
+ rubygems_version: 3.0.6
156
+ signing_key:
157
+ specification_version: 4
158
+ summary: 'Rake task to dump ActiveRecord tables into yaml fixtures. Usage: rake db:fixtures:dump'
159
+ test_files: []