rom-factory 0.10.2 → 0.12.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.
Files changed (50) hide show
  1. checksums.yaml +4 -4
  2. data/.devtools/templates/changelog.erb +3 -0
  3. data/.devtools/templates/release.erb +36 -0
  4. data/.github/FUNDING.yml +1 -0
  5. data/.github/ISSUE_TEMPLATE/{---bug-report.md → bug-report.md} +6 -10
  6. data/.github/ISSUE_TEMPLATE/config.yml +5 -0
  7. data/.github/SUPPORT.md +3 -0
  8. data/.github/workflows/ci.yml +17 -25
  9. data/.github/workflows/docsite.yml +6 -6
  10. data/.github/workflows/rubocop.yml +46 -0
  11. data/.github/workflows/sync_configs.yml +7 -13
  12. data/.repobot.yml +24 -0
  13. data/.rubocop.yml +135 -16
  14. data/CHANGELOG.md +64 -0
  15. data/CODEOWNERS +1 -0
  16. data/CONTRIBUTING.md +3 -3
  17. data/Gemfile +20 -19
  18. data/Gemfile.devtools +6 -5
  19. data/LICENSE +1 -1
  20. data/README.md +3 -3
  21. data/Rakefile +1 -1
  22. data/benchmarks/basic.rb +10 -10
  23. data/changelog.yml +35 -0
  24. data/docsite/source/index.html.md +162 -1
  25. data/lib/rom/factory/attribute_registry.rb +6 -2
  26. data/lib/rom/factory/attributes/association.rb +127 -29
  27. data/lib/rom/factory/attributes/callable.rb +1 -1
  28. data/lib/rom/factory/attributes/value.rb +1 -1
  29. data/lib/rom/factory/attributes.rb +4 -6
  30. data/lib/rom/factory/builder/persistable.rb +21 -6
  31. data/lib/rom/factory/builder.rb +17 -19
  32. data/lib/rom/factory/constants.rb +1 -1
  33. data/lib/rom/factory/dsl.rb +43 -25
  34. data/lib/rom/factory/factories.rb +13 -15
  35. data/lib/rom/factory/registry.rb +2 -2
  36. data/lib/rom/factory/sequences.rb +4 -3
  37. data/lib/rom/factory/tuple_evaluator.rb +92 -43
  38. data/lib/rom/factory/version.rb +1 -1
  39. data/lib/rom/factory.rb +8 -5
  40. data/lib/rom-factory.rb +1 -1
  41. data/project.yml +1 -0
  42. data/rom-factory.gemspec +9 -10
  43. metadata +40 -26
  44. data/.github/ISSUE_TEMPLATE/----please-don-t-ask-for-support-via-issues.md +0 -10
  45. data/.github/ISSUE_TEMPLATE/----please-don-t-report-feature-requests-via-issues.md +0 -10
  46. data/.github/ISSUE_TEMPLATE/---a-detailed-bug-report.md +0 -30
  47. data/.github/ISSUE_TEMPLATE/---feature-request.md +0 -18
  48. data/.github/workflows/custom/ci.yml +0 -26
  49. data/Appraisals +0 -9
  50. data/LICENSE.txt +0 -21
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 94cfd909ac5f05dee532d23b332e3ae3477448316d9323e2928e2d7170628843
4
- data.tar.gz: '0319563d050c33fd3b2ed3571df3ac4dc67509372b17876ff0b7f06f6ee56c19'
3
+ metadata.gz: 0cae4bd0ca2ec550f5fdfb9e17151f6e4be3b575f382935281721f75f905f46b
4
+ data.tar.gz: 1c6291ac1413d16b15fe946378d1eb59e08d8bafa61f2c8eb7743412bd53d31a
5
5
  SHA512:
6
- metadata.gz: 978c5466c39f8bb6b2ade20ec6881d4c25242b7ac5a711810acb786f4cbd555b54df057f4828393b70084a1b0d347e18ff45775ea909a2a3c937522f2de833ea
7
- data.tar.gz: c25f18add3a02a7d93a9e3a6b1bb8c8f6e36495e1811fc1bde187cbba3ec2e8ae041137e57df0c2228a5e6f5478caaaaa16d51e3c8acdf9f8b756123b8130ad6
6
+ metadata.gz: 14b6dcc4ea8a9077684b372baba986a0bd51b081ab75faadb954156c9b09dbcdf5f05bfe1a0cfc886e915b461c13afa8c0d42213337264188d438a0064ab8c34
7
+ data.tar.gz: 5705eb8df8fd99a9ff93c53b769a3c3c7f09749740642abf9a2d8f6907b67104147286d667d18de8ae372c8bafd7edad86d1baba8273cd2e67613ecc68a474c9
@@ -1,3 +1,6 @@
1
+
2
+ <!--- DO NOT EDIT THIS FILE - IT'S AUTOMATICALLY GENERATED VIA DEVTOOLS --->
3
+
1
4
  <% releases.each_with_index do |r, idx| %>
2
5
  ## <%= r.version %> <%= r.date %>
3
6
 
@@ -0,0 +1,36 @@
1
+
2
+ <!--- DO NOT EDIT THIS FILE - IT'S AUTOMATICALLY GENERATED VIA DEVTOOLS --->
3
+
4
+ <% if latest_release.summary %>
5
+ <%= latest_release.summary %>
6
+
7
+ <% end %>
8
+
9
+ <% if latest_release.added? %>
10
+ ### Added
11
+
12
+ <% latest_release.added.each do |log| %>
13
+ - <%= log %>
14
+ <% end %>
15
+
16
+ <% end %>
17
+ <% if latest_release.fixed? %>
18
+ ### Fixed
19
+
20
+ <% latest_release.fixed.each do |log| %>
21
+ - <%= log %>
22
+ <% end %>
23
+
24
+ <% end %>
25
+ <% if latest_release.changed? %>
26
+ ### Changed
27
+
28
+ <% latest_release.changed.each do |log| %>
29
+ - <%= log %>
30
+ <% end %>
31
+ <% end %>
32
+ <% if previous_release %>
33
+ <% ver_range = "v#{previous_release.version}...v#{latest_release.version}" %>
34
+
35
+ [Compare <%=ver_range%>](https://github.com/rom-rb/<%= project.name %>/compare/<%=ver_range%>)
36
+ <% end %>
@@ -0,0 +1 @@
1
+ github: hanami
@@ -2,28 +2,24 @@
2
2
  name: "\U0001F41B Bug report"
3
3
  about: See CONTRIBUTING.md for more information
4
4
  title: ''
5
- labels: bug
5
+ labels: bug, help wanted
6
6
  assignees: ''
7
7
 
8
8
  ---
9
9
 
10
- **Before you submit this: WE ONLY ACCEPT BUG REPORTS AND FEATURE REQUESTS**
11
-
12
- For more information see `CONTRIBUTING.md`.
13
-
14
- **Describe the bug**
10
+ ## Describe the bug
15
11
 
16
12
  A clear and concise description of what the bug is.
17
13
 
18
- **To Reproduce**
14
+ ## To Reproduce
19
15
 
20
- Provide detailed steps to reproduce, an executable script would be best.
16
+ Provide detailed steps to reproduce, **an executable script would be best**.
21
17
 
22
- **Expected behavior**
18
+ ## Expected behavior
23
19
 
24
20
  A clear and concise description of what you expected to happen.
25
21
 
26
- **Your environment**
22
+ ## My environment
27
23
 
28
24
  - Affects my production application: **YES/NO**
29
25
  - Ruby version: ...
@@ -0,0 +1,5 @@
1
+ blank_issues_enabled: false
2
+ contact_links:
3
+ - name: Community Support
4
+ url: https://discourse.rom-rb.org
5
+ about: Please ask and answer questions here.
@@ -0,0 +1,3 @@
1
+ ## Support
2
+
3
+ If you need help with any of the rom-rb libraries, feel free to ask questions on our [discussion forum](https://discourse.rom-rb.org/). This is the best place to seek help. Make sure to search for a potential solution in past threads before posting your question. Thanks! :heart:
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: ci
3
- 'on':
3
+ on:
4
4
  push:
5
5
  paths:
6
6
  - ".github/workflows/ci.yml"
@@ -15,7 +15,7 @@ name: ci
15
15
  pull_request:
16
16
  branches:
17
17
  - master
18
- create:
18
+ create:
19
19
  jobs:
20
20
  tests:
21
21
  runs-on: ubuntu-latest
@@ -23,31 +23,17 @@ jobs:
23
23
  fail-fast: false
24
24
  matrix:
25
25
  ruby:
26
- - '2.7'
27
- - '2.6'
28
- - '2.5'
29
- - '2.4'
30
- - jruby
31
- include:
32
- - ruby: '2.6'
33
- coverage: 'true'
34
- - ruby: '2.6'
35
- faker: faker-2
36
- coverage: 'true'
37
- - ruby: jruby
38
- database_url: jdbc:postgresql://localhost/rom_factory
39
- faker:
40
- - faker-1
41
- - faker-2
26
+ - '3.3'
27
+ - '3.2'
28
+ - '3.1'
29
+ - '3.0'
42
30
  env:
43
- CLASSPATH: ''
44
31
  COVERAGE: "${{matrix.coverage}}"
45
- CODACY_RUN_LOCAL: true
46
- CODACY_PROJECT_TOKEN: "${{secrets.CODACY_PROJECT_TOKEN}}"
47
- FAKER: "${{matrix.faker}}"
32
+ COVERAGE_TOKEN: "${{secrets.CODACY_PROJECT_TOKEN}}"
48
33
  APT_DEPS: libpq-dev libmysqlclient-dev libsqlite3-dev
49
34
  steps:
50
- - uses: actions/checkout@v1
35
+ - name: Checkout
36
+ uses: actions/checkout@v1
51
37
  - name: Install package dependencies
52
38
  run: "[ -e $APT_DEPS ] || sudo apt-get install -y --no-install-recommends $APT_DEPS"
53
39
  - name: Set up Ruby
@@ -62,6 +48,12 @@ jobs:
62
48
  run: bundle install --jobs 4 --retry 3
63
49
  - name: Run all tests
64
50
  run: bundle exec rake
51
+ - name: Run codacy-coverage-reporter
52
+ uses: codacy/codacy-coverage-reporter-action@master
53
+ if: env.COVERAGE == 'true' && env.COVERAGE_TOKEN != ''
54
+ with:
55
+ project-token: "${{secrets.CODACY_PROJECT_TOKEN}}"
56
+ coverage-reports: coverage/coverage.xml
65
57
  services:
66
58
  db:
67
59
  image: postgres:10.8
@@ -87,10 +79,10 @@ jobs:
87
79
  - name: Set up Ruby
88
80
  uses: ruby/setup-ruby@v1
89
81
  with:
90
- ruby-version: 2.6
82
+ ruby-version: "3.1"
91
83
  - name: Install dependencies
92
84
  run: gem install ossy --no-document
93
85
  - name: Trigger release workflow
94
86
  run: |
95
87
  tag=$(echo $GITHUB_REF | cut -d / -f 3)
96
- ossy gh w rom-rb/devtools release --payload "{\"tag\":\"$tag\",\"tag_creator\":\"$GITHUB_ACTOR\",\"repo\":\"$GITHUB_REPOSITORY\"}"
88
+ ossy gh w rom-rb/devtools release --payload "{\"tag\":\"$tag\",\"sha\":\"${{github.sha}}\",\"tag_creator\":\"$GITHUB_ACTOR\",\"repo\":\"$GITHUB_REPOSITORY\",\"repo_name\":\"${{github.event.repository.name}}\"}"
@@ -1,6 +1,6 @@
1
- # this file is managed by rom-rb/devtools project
1
+ # This file is synced from rom-rb/template-gem repo
2
2
 
3
- name: Update docs on rom-rb.org
3
+ name: docsite
4
4
 
5
5
  on:
6
6
  push:
@@ -8,7 +8,7 @@ on:
8
8
  - docsite/**
9
9
  - .github/workflows/docsite.yml
10
10
  branches:
11
- - master
11
+ - main
12
12
  - release-**
13
13
  tags:
14
14
 
@@ -22,9 +22,9 @@ jobs:
22
22
  - run: |
23
23
  git fetch --no-tags --prune --depth=1 origin +refs/heads/*:refs/remotes/origin/*
24
24
  - name: Set up Ruby
25
- uses: actions/setup-ruby@v1
25
+ uses: ruby/setup-ruby@v1
26
26
  with:
27
- ruby-version: "2.6.x"
27
+ ruby-version: "3.1"
28
28
  - name: Set up git user
29
29
  run: |
30
30
  git config --local user.email "rom-bot@rom-rb.org"
@@ -51,7 +51,7 @@ jobs:
51
51
 
52
52
  git push --all "https://rom-bot:${{secrets.GH_PAT}}@github.com/$GITHUB_REPOSITORY.git"
53
53
 
54
- git checkout master
54
+ git checkout main
55
55
  else
56
56
  echo "no need to update branches"
57
57
  fi
@@ -0,0 +1,46 @@
1
+ name: "RuboCop"
2
+ on:
3
+ push:
4
+ branches:
5
+ - "main"
6
+ - "master"
7
+ paths:
8
+ - "**/*.rb"
9
+ - "**/*.rake"
10
+ - "Rakefile"
11
+ - "Gemfile*"
12
+ - ".rubocop.yml"
13
+ pull_request:
14
+ branches:
15
+ - "main"
16
+ - "master"
17
+ types:
18
+ - "opened"
19
+ - "synchronize"
20
+ workflow_dispatch:
21
+ jobs:
22
+ run:
23
+ runs-on: ubuntu-latest
24
+ name: ${{ matrix.type }}
25
+ strategy:
26
+ fail-fast: false
27
+ matrix:
28
+ type: ["Style", "Layout", "Naming", "Lint", "Metrics", "Security"]
29
+ steps:
30
+ - name: Clone
31
+ uses: actions/checkout@v2
32
+ - name: Get git diff
33
+ id: get_diff
34
+ uses: technote-space/get-diff-action@v4
35
+ with:
36
+ PATTERNS: |
37
+ **/*.rb
38
+ **/*.rake
39
+ Gemfile
40
+ Rakefile
41
+ - name: Check ${{ matrix.type }}
42
+ uses: action-hero/actions/rubocop@main
43
+ if: ${{ env.GIT_DIFF != '' }}
44
+ with:
45
+ diff: ${{ env.GIT_DIFF }}
46
+ type: ${{ matrix.type }}
@@ -1,4 +1,4 @@
1
- # this file is managed by rom-rb/devtools project
1
+ # This file is synced from rom-rb/template-gem repo
2
2
 
3
3
  name: sync
4
4
 
@@ -6,7 +6,7 @@ on:
6
6
  repository_dispatch:
7
7
  push:
8
8
  branches:
9
- - "master"
9
+ - "main"
10
10
 
11
11
  jobs:
12
12
  main:
@@ -17,9 +17,9 @@ jobs:
17
17
  GITHUB_TOKEN: ${{ secrets.GH_PAT }}
18
18
  steps:
19
19
  - name: Checkout ${{github.repository}}
20
- uses: actions/checkout@v1
20
+ uses: actions/checkout@v3
21
21
  - name: Checkout devtools
22
- uses: actions/checkout@v2
22
+ uses: actions/checkout@v3
23
23
  with:
24
24
  repository: rom-rb/devtools
25
25
  path: tmp/devtools
@@ -30,15 +30,9 @@ jobs:
30
30
  - name: Set up Ruby
31
31
  uses: ruby/setup-ruby@v1
32
32
  with:
33
- ruby-version: 2.6
33
+ ruby-version: "3.1"
34
34
  - name: Install dependencies
35
35
  run: gem install ossy --no-document
36
- - name: Compile file templates
37
- run: tmp/devtools/bin/compile-templates
38
- - name: Update workflow files from devtools
39
- run: tmp/devtools/bin/sync-workflows
40
- - name: Update configuration files from devtools
41
- run: tmp/devtools/bin/sync-shared-files
42
36
  - name: Update changelog.yml from commit
43
37
  run: tmp/devtools/bin/update-changelog-from-commit $GITHUB_SHA
44
38
  - name: Compile CHANGELOG.md
@@ -49,5 +43,5 @@ jobs:
49
43
  git commit -m "[devtools] sync" || echo "nothing to commit"
50
44
  - name: Push changes
51
45
  run: |
52
- git pull --rebase origin master
53
- git push https://rom-bot:${{secrets.GH_PAT}}@github.com/${{github.repository}}.git HEAD:master
46
+ git pull --rebase origin main
47
+ git push https://rom-bot:${{secrets.GH_PAT}}@github.com/${{github.repository}}.git HEAD:main
data/.repobot.yml ADDED
@@ -0,0 +1,24 @@
1
+ ###########################################################
2
+ # DO NOT EDIT THIS FILE
3
+ #
4
+ # This is a config synced from rom-rb/template-gem repo
5
+ ###########################################################
6
+
7
+ sources:
8
+ - repo: rom-rb/template-gem
9
+ sync:
10
+ - ".repobot.yml.erb"
11
+ - ".devtools/templates/*.sync:${{dir}}/${{name}}"
12
+ - ".github/**/*.*"
13
+ - ".rspec"
14
+ - ".rubocop.yml"
15
+ - "spec/support/*"
16
+ - "CODE_OF_CONDUCT.md"
17
+ - "CONTRIBUTING.md"
18
+ - "CODEOWNERS"
19
+ - "LICENSE.erb"
20
+ - "README.erb"
21
+ - "Gemfile.devtools"
22
+ - repo: repobot-app/workflows
23
+ sync:
24
+ - ".github/workflows/*.yml"
data/.rubocop.yml CHANGED
@@ -1,13 +1,22 @@
1
- # this file is managed by rom-rb/devtools project
2
-
1
+ # This is a config synced from rom-rb/template-gem repo
3
2
  AllCops:
4
- TargetRubyVersion: 2.4
3
+ TargetRubyVersion: 2.7
4
+ NewCops: disable
5
+ SuggestExtensions: false
5
6
  Exclude:
6
7
  - spec/support/coverage.rb
7
8
  - spec/support/warnings.rb
9
+ - spec/support/rspec_options.rb
8
10
  - Gemfile.devtools
9
11
  - "*.gemspec"
10
12
 
13
+ Layout/ArgumentAlignment:
14
+ Enabled: false
15
+ EnforcedStyle: with_fixed_indentation
16
+
17
+ Layout/SpaceAroundMethodCallOperator:
18
+ Enabled: false
19
+
11
20
  Layout/SpaceInLambdaLiteral:
12
21
  Enabled: false
13
22
 
@@ -15,7 +24,7 @@ Layout/MultilineMethodCallIndentation:
15
24
  Enabled: true
16
25
  EnforcedStyle: indented
17
26
 
18
- Layout/IndentFirstArrayElement:
27
+ Layout/FirstArrayElementIndentation:
19
28
  EnforcedStyle: consistent
20
29
 
21
30
  Layout/SpaceInsideHashLiteralBraces:
@@ -23,13 +32,64 @@ Layout/SpaceInsideHashLiteralBraces:
23
32
  EnforcedStyle: no_space
24
33
  EnforcedStyleForEmptyBraces: no_space
25
34
 
26
- Lint/HandleExceptions:
35
+ Layout/LineLength:
36
+ Max: 120
27
37
  Exclude:
28
- - "spec/spec_helper.rb"
38
+ - "spec/**/*_spec.rb"
39
+
40
+ Lint/AmbiguousBlockAssociation:
41
+ Enabled: true
42
+ # because 'expect { foo }.to change { bar }' is fine
43
+ Exclude:
44
+ - "spec/**/*.rb"
29
45
 
30
46
  Lint/BooleanSymbol:
31
47
  Enabled: false
32
48
 
49
+ Lint/MissingSuper:
50
+ Enabled: false
51
+
52
+ Lint/ConstantDefinitionInBlock:
53
+ Enabled: false
54
+
55
+ Lint/EmptyBlock:
56
+ Exclude:
57
+ - "spec/**/*.rb"
58
+
59
+ Lint/EmptyClass:
60
+ Exclude:
61
+ - "spec/**/*.rb"
62
+
63
+ Lint/RaiseException:
64
+ Enabled: false
65
+
66
+ Lint/StructNewOverride:
67
+ Enabled: false
68
+
69
+ Lint/SuppressedException:
70
+ Exclude:
71
+ - "spec/**/*.rb"
72
+
73
+ Lint/UselessMethodDefinition:
74
+ Exclude:
75
+ - "lib/rom/struct.rb"
76
+
77
+ Lint/UnderscorePrefixedVariableName:
78
+ Enabled: false
79
+
80
+ Lint/ToEnumArguments:
81
+ Exclude:
82
+ - "lib/rom/command.rb"
83
+
84
+ Naming/MethodParameterName:
85
+ Enabled: false
86
+
87
+ Naming/AccessorMethodName:
88
+ Enabled: false
89
+
90
+ Naming/VariableNumber:
91
+ Enabled: false
92
+
33
93
  Naming/PredicateName:
34
94
  Enabled: false
35
95
 
@@ -43,14 +103,12 @@ Naming/MethodName:
43
103
  Naming/MemoizedInstanceVariableName:
44
104
  Enabled: false
45
105
 
46
- Metrics/LineLength:
47
- Max: 100
48
- Exclude:
49
- - "spec/**/*_spec.rb"
50
-
51
106
  Metrics/MethodLength:
52
107
  Enabled: false
53
108
 
109
+ Metrics/ModuleLength:
110
+ Enabled: false
111
+
54
112
  Metrics/ClassLength:
55
113
  Enabled: false
56
114
 
@@ -58,12 +116,33 @@ Metrics/BlockLength:
58
116
  Enabled: false
59
117
 
60
118
  Metrics/AbcSize:
61
- Max: 25
119
+ Max: 36
62
120
 
63
121
  Metrics/CyclomaticComplexity:
64
122
  Enabled: true
65
123
  Max: 12
66
124
 
125
+ Metrics/PerceivedComplexity:
126
+ Max: 14
127
+
128
+ Metrics/ParameterLists:
129
+ Enabled: false
130
+
131
+ Style/AccessorGrouping:
132
+ Enabled: false
133
+
134
+ Style/ExponentialNotation:
135
+ Enabled: false
136
+
137
+ Style/HashEachMethods:
138
+ Enabled: false
139
+
140
+ Style/HashTransformKeys:
141
+ Enabled: false
142
+
143
+ Style/HashTransformValues:
144
+ Enabled: false
145
+
67
146
  Style/AccessModifierDeclarations:
68
147
  Enabled: false
69
148
 
@@ -78,8 +157,7 @@ Style/BlockDelimiters:
78
157
  Enabled: false
79
158
 
80
159
  Style/ClassAndModuleChildren:
81
- Exclude:
82
- - "spec/**/*_spec.rb"
160
+ Enabled: false
83
161
 
84
162
  Style/ConditionalAssignment:
85
163
  Enabled: false
@@ -102,6 +180,9 @@ Style/GuardClause:
102
180
  Style/IfUnlessModifier:
103
181
  Enabled: false
104
182
 
183
+ Style/Lambda:
184
+ Enabled: false
185
+
105
186
  Style/LambdaCall:
106
187
  Enabled: false
107
188
 
@@ -121,8 +202,46 @@ Style/StringLiteralsInInterpolation:
121
202
  EnforcedStyle: double_quotes
122
203
 
123
204
  Style/SymbolArray:
124
- Exclude:
125
- - "spec/**/*_spec.rb"
205
+ Enabled: false
206
+
207
+ Style/OptionalBooleanParameter:
208
+ Enabled: false
209
+
210
+ Style/MultilineBlockChain:
211
+ Enabled: false
212
+
213
+ Style/DocumentDynamicEvalDefinition:
214
+ Enabled: false
126
215
 
127
216
  Style/TrailingUnderscoreVariable:
128
217
  Enabled: false
218
+
219
+ Style/MultipleComparison:
220
+ Enabled: false
221
+
222
+ Style/StringConcatenation:
223
+ Enabled: false
224
+
225
+ Style/OpenStructUse:
226
+ Enabled: false
227
+
228
+ Style/MapToHash:
229
+ Enabled: false
230
+
231
+ Style/FormatStringToken:
232
+ Enabled: false
233
+
234
+ Style/StructInheritance:
235
+ Enabled: false
236
+
237
+ Style/PreferredHashMethods:
238
+ Enabled: false
239
+
240
+ Style/DoubleNegation:
241
+ Enabled: false
242
+
243
+ Style/MissingRespondToMissing:
244
+ Enabled: false
245
+
246
+ Style/CombinableLoops:
247
+ Enabled: false
data/CHANGELOG.md CHANGED
@@ -1,3 +1,67 @@
1
+ <!--- DO NOT EDIT THIS FILE - IT'S AUTOMATICALLY GENERATED VIA DEVTOOLS --->
2
+
3
+ ## 0.12.0 2024-01-19
4
+
5
+
6
+ ### Added
7
+
8
+ - Support for many-to-many and one-to-one-through associations (via
9
+ - Support for UUID as PKs in associations (via
10
+
11
+ ### Fixed
12
+
13
+ - Relations without PKs should work too (via
14
+ - Relations with PK values generated on the Ruby side should work in SQlite too (via
15
+
16
+
17
+ [Compare v0.11.0...v0.12.0](https://github.com/rom-rb/rom-factory/compare/v0.11.0...v0.12.0)
18
+
19
+ ## 0.11.0 2022-11-11
20
+
21
+
22
+ ### Added
23
+
24
+ - Support for one-to-one associations (@ianks)
25
+ - [internal] cache for Faker constants (@flash-gordon)
26
+
27
+ ### Fixed
28
+
29
+ - Support for plural Faker generators (@wuarmin)
30
+
31
+ ### Changed
32
+
33
+ - [BREAKING] attributes are always passed as keywords (@alassek)
34
+ This may affect your code in places where attributes are passed as hashes.
35
+ Places like
36
+
37
+ ```ruby
38
+ user_attributes = { name: 'Jane' }
39
+ Factory[:user, user_attributes]
40
+
41
+ ```
42
+
43
+ must be updated to
44
+
45
+ ```ruby
46
+ user_attributes = { name: 'Jane' }
47
+ Factory[:user, **user_attributes]
48
+ ```
49
+
50
+ - Upgraded to the latest versions of dry-rb dependencies, compatible with rom 5.3 (@flash-gordon)
51
+ - Support for Faker 1.x was dropped (@alassek)
52
+
53
+ [Compare v0.10.2...v0.11.0](https://github.com/rom-rb/rom-factory/compare/v0.10.2...v0.11.0)
54
+
55
+ ## 0.10.2 2020-04-05
56
+
57
+
58
+ ### Fixed
59
+
60
+ - Fix more keyword warnings (@flash-gordon)
61
+
62
+
63
+ [Compare v0.10.1...v0.10.2](https://github.com/rom-rb/rom-factory/compare/v0.10.1...v0.10.2)
64
+
1
65
  ## 0.10.1 2019-12-28
2
66
 
3
67
 
data/CODEOWNERS ADDED
@@ -0,0 +1 @@
1
+ * @solnic
data/CONTRIBUTING.md CHANGED
@@ -6,11 +6,11 @@ If you found a bug, report an issue and describe what's the expected behavior ve
6
6
 
7
7
  ## Reporting feature requests
8
8
 
9
- Report a feature request **only after discussing it first on [discourse.rom-rb.org](https://discourse.rom-rb.org)** where it was accepted. Please provide a concise description of the feature, don't link to a discussion thread, and instead summarize what was discussed.
9
+ Report a feature request **only after discussing it first on [discourse.rom-rb.org](https://discourse.rom-rb.org)** where it was accepted. Please provide a concise description of the feature.
10
10
 
11
11
  ## Reporting questions, support requests, ideas, concerns etc.
12
12
 
13
- **PLEASE DON'T** - use [discourse.rom-rb.org](http://discourse.rom-rb.org) instead.
13
+ **PLEASE DON'T** - use [discourse.rom-rb.org](https://discourse.rom-rb.org) instead.
14
14
 
15
15
  # Pull Request Guidelines
16
16
 
@@ -26,4 +26,4 @@ Other requirements:
26
26
 
27
27
  # Asking for help
28
28
 
29
- If these guidelines aren't helpful, and you're stuck, please post a message on [discourse.rom-rb.org](https://discourse.rom-rb.org) or join [our chat](https://rom-rb.zulipchat.com).
29
+ If these guidelines aren't helpful, and you're stuck, please post a message on [discourse.rom-rb.org](https://discourse.rom-rb.org).