rom-factory 0.10.2 → 0.12.0

Sign up to get free protection for your applications and to get access to all the features.
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).