to_factory 2.1.0 → 3.0.0.pre.pre

Sign up to get free protection for your applications and to get access to all the features.
Files changed (65) hide show
  1. checksums.yaml +5 -5
  2. data/.github/workflows/test.yml +35 -0
  3. data/.rubocop-disabled.yml +95 -0
  4. data/.rubocop-enabled.yml +1194 -0
  5. data/.rubocop.yml +938 -0
  6. data/CHANGELOG.md +11 -0
  7. data/Gemfile +6 -1
  8. data/README.md +2 -11
  9. data/Rakefile +17 -9
  10. data/lib/to_factory/collation.rb +9 -9
  11. data/lib/to_factory/file_sync.rb +10 -10
  12. data/lib/to_factory/file_writer.rb +1 -1
  13. data/lib/to_factory/finders/factory.rb +1 -1
  14. data/lib/to_factory/finders/model.rb +2 -4
  15. data/lib/to_factory/generation/attribute.rb +6 -10
  16. data/lib/to_factory/generation/factory.rb +3 -3
  17. data/lib/to_factory/klass_inference.rb +4 -6
  18. data/lib/to_factory/options_parser.rb +4 -4
  19. data/lib/to_factory/parsing/file.rb +85 -14
  20. data/lib/to_factory/representation.rb +9 -6
  21. data/lib/to_factory/version.rb +1 -1
  22. data/lib/to_factory.rb +7 -8
  23. data/spec/db/migrate/1_create_users.rb +4 -4
  24. data/spec/db/migrate/2_create_projects.rb +4 -4
  25. data/spec/db/migrate/3_create_not_namespaced.rb +4 -4
  26. data/spec/db/migrate/4_add_birthday_to_users.rb +3 -3
  27. data/spec/db/migrate/5_add_serialized_attributes_to_users.rb +3 -3
  28. data/spec/example_factories/admin.rb +6 -6
  29. data/spec/example_factories/admin_with_header.rb +7 -7
  30. data/spec/example_factories/inherited_project_with_header.rb +7 -0
  31. data/spec/example_factories/project_with_header.rb +4 -4
  32. data/spec/example_factories/user.rb +5 -5
  33. data/spec/example_factories/user_admin.rb +11 -11
  34. data/spec/example_factories/user_admin_root.rb +12 -13
  35. data/spec/example_factories/user_admin_super_admin.rb +6 -6
  36. data/spec/example_factories/user_admin_with_header.rb +12 -12
  37. data/spec/example_factories/user_with_header.rb +6 -6
  38. data/spec/integration/empty_factory_file_spec.rb +2 -2
  39. data/spec/integration/file_sync_spec.rb +16 -17
  40. data/spec/integration/file_writer_spec.rb +13 -9
  41. data/spec/integration/lint_spec.rb +4 -3
  42. data/spec/integration/multiple_to_factory_calls_spec.rb +37 -35
  43. data/spec/integration/non_active_record_classes_spec.rb +40 -0
  44. data/spec/integration/to_factory_method_spec.rb +21 -18
  45. data/spec/spec_helper.rb +8 -8
  46. data/spec/support/data_creation.rb +11 -13
  47. data/spec/support/match_sexp.rb +0 -1
  48. data/spec/support/non_active_record/inherited_project.rb +3 -0
  49. data/spec/support/non_active_record/project.rb +3 -0
  50. data/spec/support/non_active_record/some_other_service_inheriting_from_something_else.rb +4 -0
  51. data/spec/support/non_active_record/some_service.rb +2 -0
  52. data/spec/support/non_active_record/something_else.rb +2 -0
  53. data/spec/support/ruby_parser_exception_causing_string.rb +29 -29
  54. data/spec/unit/collation_spec.rb +9 -10
  55. data/spec/unit/file_writer_spec.rb +4 -8
  56. data/spec/unit/finders/factory_spec.rb +7 -9
  57. data/spec/unit/finders/model_spec.rb +6 -9
  58. data/spec/unit/generation/attribute_spec.rb +11 -12
  59. data/spec/unit/generation/factory_spec.rb +14 -16
  60. data/spec/unit/parsing/file_spec.rb +9 -9
  61. data/spec/unit/parsing/klass_inference_spec.rb +5 -7
  62. data/to_factory.gemspec +14 -10
  63. metadata +89 -31
  64. data/.travis.yml +0 -16
  65. data/lib/to_factory/parsing/syntax.rb +0 -83
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 3b772bf1a0170e218dfc0cec7d1e18aea8183291
4
- data.tar.gz: cf2c1036f4212a9786fc255eb8a421713c4ca8f2
2
+ SHA256:
3
+ metadata.gz: 01f94df88ff753c773d52d22da1ac7d85f16cace50153d5a77eb481fa731531e
4
+ data.tar.gz: 307ce4ac3bbafd0da3afe288b4f1529666d17db175ffc15bd3e73a2cd1dce871
5
5
  SHA512:
6
- metadata.gz: 9cded91aa7aafddf9c6812a220f5a7798397012d80352095d7bfa442b4616680827af2e2db9399c5c5f168af071ae728fc1870d82bfdcf9fde0982d3cc77a85d
7
- data.tar.gz: 3195202d58066527509f151faf4cff787e740d534ee22268b086a0d3b363e71325bfe761e961b22494ffd69660c24008fc97d406d478f30cf9d247db84e86537
6
+ metadata.gz: 64e0f3c9317cd0fc8b33e46fe8726bfb5cb2a17d03fbfc1cdbf499f817e57bb4ed8fd40331af7efbd88be4fef0b36bd6fa3fdeca297923f2bb3a288da3028444
7
+ data.tar.gz: 4fdf799e703a7bb5b29798b8406c602cdbf4d781d42a16bab3778f5699d5a6c56b8cc4939c1749c3f718996c3fadf512c42548b145e9b956aa9afcccebd8f546
@@ -0,0 +1,35 @@
1
+ name: RSpec
2
+ on:
3
+ pull_request:
4
+
5
+ jobs:
6
+ rspec:
7
+ runs-on: ubuntu-latest
8
+ steps:
9
+ - uses: actions/checkout@v1
10
+ - uses: ruby/setup-ruby@v1
11
+ with:
12
+ bundler-cache: false
13
+ ruby-version: 2.7.5
14
+ - uses: actions/cache@v2
15
+ with:
16
+ path: .github/vendor/bundle
17
+ key: bundle-use-ruby-for-danger-${{ matrix.os }}-${{ matrix.ruby }}-${{ hashFiles('**/Gemfile.lock') }}
18
+ restore-keys: |
19
+ bundle-use-ruby-for-danger-${{ matrix.os }}-${{ matrix.ruby }}-
20
+ - name: bundle install
21
+ run: |
22
+ cd .github
23
+ bundle install --path=vendor/bundle --jobs 4 --retry 3
24
+ - name: setup db
25
+ run: |
26
+ bundle exec rake spec:migrate_db
27
+ - name: RSpec tests
28
+ run: bundle exec rspec -f j -o tmp/rspec_results.json -f p
29
+
30
+ - name: RSpec Report
31
+ uses: SonicGarden/rspec-report-action@v2
32
+ with:
33
+ token: ${{ secrets.GITHUB_TOKEN }}
34
+ json-path: tmp/rspec_results.json
35
+ if: always()
@@ -0,0 +1,95 @@
1
+ # These are all the cops that are disabled in the default configuration.
2
+
3
+ Style/AutoResourceCleanup:
4
+ Description: 'Suggests the usage of an auto resource cleanup version of a method (if available).'
5
+ Enabled: false
6
+
7
+ Style/CollectionMethods:
8
+ Description: 'Preferred collection methods.'
9
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#map-find-select-reduce-size'
10
+ Enabled: false
11
+
12
+ Style/Copyright:
13
+ Description: 'Include a copyright notice in each file before any code.'
14
+ Enabled: false
15
+
16
+ Style/Encoding:
17
+ Description: 'Use UTF-8 as the source file encoding.'
18
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#utf-8'
19
+ Enabled: false
20
+
21
+ Style/InlineComment:
22
+ Description: 'Avoid inline comments.'
23
+ Enabled: false
24
+
25
+ Style/FirstArrayElementLineBreak:
26
+ Description: >-
27
+ Checks for a line break before the first element in a
28
+ multi-line array.
29
+ Enabled: false
30
+
31
+ Style/FirstHashElementLineBreak:
32
+ Description: >-
33
+ Checks for a line break before the first element in a
34
+ multi-line hash.
35
+ Enabled: false
36
+
37
+ Style/FirstMethodArgumentLineBreak:
38
+ Description: >-
39
+ Checks for a line break before the first argument in a
40
+ multi-line method call.
41
+ Enabled: false
42
+
43
+ Style/FirstMethodParameterLineBreak:
44
+ Description: >-
45
+ Checks for a line break before the first parameter in a
46
+ multi-line method parameter definition.
47
+ Enabled: false
48
+
49
+ Style/MethodCalledOnDoEndBlock:
50
+ Description: 'Avoid chaining a method call on a do...end block.'
51
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#single-line-blocks'
52
+ Enabled: false
53
+
54
+ Style/MissingElse:
55
+ Description: >-
56
+ Require if/case expressions to have an else branches.
57
+ If enabled, it is recommended that
58
+ Style/UnlessElse and Style/EmptyElse be enabled.
59
+ This will conflict with Style/EmptyElse if
60
+ Style/EmptyElse is configured to style "both"
61
+ Enabled: false
62
+ EnforcedStyle: both
63
+ SupportedStyles:
64
+ # if - warn when an if expression is missing an else branch
65
+ # case - warn when a case expression is missing an else branch
66
+ # both - warn when an if or case expression is missing an else branch
67
+ - if
68
+ - case
69
+ - both
70
+
71
+ Style/MutableConstant:
72
+ Description: 'Do not assign mutable objects to constants.'
73
+ Enabled: false
74
+
75
+ Style/OptionHash:
76
+ Description: "Don't use option hashes when you can use keyword arguments."
77
+ Enabled: false
78
+
79
+ Style/Send:
80
+ Description: 'Prefer `Object#__send__` or `Object#public_send` to `send`, as `send` may overlap with existing methods.'
81
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#prefer-public-send'
82
+ Enabled: false
83
+
84
+ Style/StringMethods:
85
+ Description: 'Checks if configured preferred methods are used over non-preferred.'
86
+ Enabled: false
87
+
88
+ Style/SymbolArray:
89
+ Description: 'Use %i or %I for arrays of symbols.'
90
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#percent-i'
91
+ Enabled: false
92
+
93
+ Lint/LiteralInInterpolation:
94
+ Description: 'Avoid interpolating literals in strings'
95
+ AutoCorrect: false