granite-form 0.4.0 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.github/CODEOWNERS +1 -1
- data/.github/workflows/ruby.yml +3 -5
- data/Appraisals +1 -1
- data/CHANGELOG.md +8 -0
- data/gemfiles/{rails.5.0.gemfile → rails.7.1.gemfile} +3 -3
- data/granite-form.gemspec +4 -4
- data/lib/granite/form/model/attributes/base.rb +1 -1
- data/lib/granite/form/version.rb +1 -1
- data/spec/granite/form/model/attributes/base_spec.rb +18 -0
- metadata +16 -18
- data/gemfiles/rails.5.1.gemfile +0 -14
- data/gemfiles/rails.5.2.gemfile +0 -14
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5519b4c103eaec0a823f7869c496af428a11d4bab6652822add9e826a64a86c0
|
4
|
+
data.tar.gz: ac3048e88443939c4bae29e5eac6d177ff58a782501f2ee03b57cc5c27697d9c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a25adecefad4bd54870c96884c388ad4528ad03269b348422725a73bfe366204bfd530f58c8ac5ee92264891abcf34f824a4b4067620b9b118dba3e3e8da69d7
|
7
|
+
data.tar.gz: b48f66dedbe424b642337f76468ddfc0809589e8d6e13c448ebe80b5cfe804e4bbf87e7107b14b24634af477f5cf9add77596f8c425757a75683867e2fe1320e
|
data/.github/CODEOWNERS
CHANGED
@@ -1 +1 @@
|
|
1
|
-
* @toptal/
|
1
|
+
* @toptal/devx
|
data/.github/workflows/ruby.yml
CHANGED
@@ -10,12 +10,10 @@ jobs:
|
|
10
10
|
fail-fast: false
|
11
11
|
matrix:
|
12
12
|
include:
|
13
|
-
- { ruby: '2.4', rails: '5.0' }
|
14
|
-
- { ruby: '2.5', rails: '5.1' }
|
15
|
-
- { ruby: '2.6', rails: '5.2' }
|
16
13
|
- { ruby: '2.7', rails: '6.0' }
|
17
14
|
- { ruby: '3.0', rails: '6.1' }
|
18
15
|
- { ruby: '3.1', rails: '7.0' }
|
16
|
+
- { ruby: '3.2', rails: '7.1' }
|
19
17
|
runs-on: ubuntu-latest
|
20
18
|
env:
|
21
19
|
BUNDLE_GEMFILE: ${{ github.workspace }}/gemfiles/rails.${{ matrix.rails }}.gemfile
|
@@ -35,7 +33,7 @@ jobs:
|
|
35
33
|
# Maps tcp port 5432 on service container to the host
|
36
34
|
- 5432:5432
|
37
35
|
steps:
|
38
|
-
- uses: actions/checkout@
|
36
|
+
- uses: actions/checkout@v3
|
39
37
|
- uses: ruby/setup-ruby@v1
|
40
38
|
with:
|
41
39
|
ruby-version: ${{ matrix.ruby }}
|
@@ -45,7 +43,7 @@ jobs:
|
|
45
43
|
rubocop:
|
46
44
|
runs-on: ubuntu-latest
|
47
45
|
steps:
|
48
|
-
- uses: actions/checkout@
|
46
|
+
- uses: actions/checkout@v3
|
49
47
|
- uses: ruby/setup-ruby@v1
|
50
48
|
with:
|
51
49
|
ruby-version: '3.0'
|
data/Appraisals
CHANGED
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,14 @@
|
|
1
1
|
# master
|
2
2
|
|
3
3
|
## Next
|
4
|
+
|
5
|
+
## v0.5.0
|
6
|
+
|
7
|
+
* Support for ruby 3.2 by @konalegi in https://github.com/toptal/granite-form/pull/22
|
8
|
+
* Fix deprecated #to_s method by @mpiask in https://github.com/toptal/granite-form/pull/24
|
9
|
+
* Support for Rails 7.1 by @ojab in https://github.com/toptal/granite-form/pull/25
|
10
|
+
* [BREAKING] Drop support for Rails < 6.0 by @ojab in https://github.com/toptal/granite-form/pull/25
|
11
|
+
|
4
12
|
## v0.4.0
|
5
13
|
|
6
14
|
* [BREAKING] Drop support for taking `model` as first argument in default/readonly/enum/normalize. This means that `default: -> (model) { model.other_field}` is no longer supported and should be replaced with `default: -> { other_field }`.
|
@@ -2,9 +2,9 @@
|
|
2
2
|
|
3
3
|
source "https://rubygems.org"
|
4
4
|
|
5
|
-
gem "activesupport", "~>
|
6
|
-
gem "activemodel", "~>
|
7
|
-
gem "activerecord", "~>
|
5
|
+
gem "activesupport", "~> 7.1.0"
|
6
|
+
gem "activemodel", "~> 7.1.0"
|
7
|
+
gem "activerecord", "~> 7.1.0"
|
8
8
|
|
9
9
|
group :test do
|
10
10
|
gem "guard"
|
data/granite-form.gemspec
CHANGED
@@ -14,8 +14,8 @@ Gem::Specification.new do |gem|
|
|
14
14
|
gem.required_ruby_version = '>= 2.4.0'
|
15
15
|
gem.version = Granite::Form::VERSION
|
16
16
|
|
17
|
-
gem.add_development_dependency 'actionpack', '>=
|
18
|
-
gem.add_development_dependency 'activerecord', '>=
|
17
|
+
gem.add_development_dependency 'actionpack', '>= 6.0'
|
18
|
+
gem.add_development_dependency 'activerecord', '>= 6.0'
|
19
19
|
gem.add_development_dependency 'appraisal'
|
20
20
|
gem.add_development_dependency 'bump'
|
21
21
|
gem.add_development_dependency 'database_cleaner'
|
@@ -26,7 +26,7 @@ Gem::Specification.new do |gem|
|
|
26
26
|
gem.add_development_dependency 'rubocop', '0.52.1'
|
27
27
|
gem.add_development_dependency 'uuidtools'
|
28
28
|
|
29
|
-
gem.add_runtime_dependency 'activemodel', '>=
|
30
|
-
gem.add_runtime_dependency 'activesupport', '>=
|
29
|
+
gem.add_runtime_dependency 'activemodel', '>= 6.0'
|
30
|
+
gem.add_runtime_dependency 'activesupport', '>= 6.0'
|
31
31
|
gem.add_runtime_dependency 'tzinfo'
|
32
32
|
end
|
data/lib/granite/form/version.rb
CHANGED
@@ -103,4 +103,22 @@ describe Granite::Form::Model::Attributes::Base do
|
|
103
103
|
|
104
104
|
it { is_expected.to have_attributes(type: String, reflection: subject.reflection, owner: model) }
|
105
105
|
end
|
106
|
+
|
107
|
+
describe '#inspect_attribute' do
|
108
|
+
let(:field) { attribute(type: type) }
|
109
|
+
let(:object) { Object.new }
|
110
|
+
|
111
|
+
{
|
112
|
+
'hello' => 'field: "hello"',
|
113
|
+
123 => 'field: 123',
|
114
|
+
Date.new(2023, 6, 20) => 'field: "2023-06-20"',
|
115
|
+
DateTime.new(2023, 6, 20, 12, 30) => 'field: "2023-06-20 12:30:00"', # rubocop:disable Style/DateTime
|
116
|
+
Time.new(2023, 6, 20, 12, 30) => 'field: "2023-06-20 12:30:00"'
|
117
|
+
}.each do |input, expected_output|
|
118
|
+
context "attribute type is #{input.class}" do
|
119
|
+
let(:type) { input.class }
|
120
|
+
specify { expect(field.tap { |r| r.write(input) }.inspect_attribute).to eq(expected_output) }
|
121
|
+
end
|
122
|
+
end
|
123
|
+
end
|
106
124
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: granite-form
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Toptal Engineering
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-10-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: actionpack
|
@@ -16,28 +16,28 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
19
|
+
version: '6.0'
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '
|
26
|
+
version: '6.0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: activerecord
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
33
|
+
version: '6.0'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '
|
40
|
+
version: '6.0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: appraisal
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -170,28 +170,28 @@ dependencies:
|
|
170
170
|
requirements:
|
171
171
|
- - ">="
|
172
172
|
- !ruby/object:Gem::Version
|
173
|
-
version: '
|
173
|
+
version: '6.0'
|
174
174
|
type: :runtime
|
175
175
|
prerelease: false
|
176
176
|
version_requirements: !ruby/object:Gem::Requirement
|
177
177
|
requirements:
|
178
178
|
- - ">="
|
179
179
|
- !ruby/object:Gem::Version
|
180
|
-
version: '
|
180
|
+
version: '6.0'
|
181
181
|
- !ruby/object:Gem::Dependency
|
182
182
|
name: activesupport
|
183
183
|
requirement: !ruby/object:Gem::Requirement
|
184
184
|
requirements:
|
185
185
|
- - ">="
|
186
186
|
- !ruby/object:Gem::Version
|
187
|
-
version: '
|
187
|
+
version: '6.0'
|
188
188
|
type: :runtime
|
189
189
|
prerelease: false
|
190
190
|
version_requirements: !ruby/object:Gem::Requirement
|
191
191
|
requirements:
|
192
192
|
- - ">="
|
193
193
|
- !ruby/object:Gem::Version
|
194
|
-
version: '
|
194
|
+
version: '6.0'
|
195
195
|
- !ruby/object:Gem::Dependency
|
196
196
|
name: tzinfo
|
197
197
|
requirement: !ruby/object:Gem::Requirement
|
@@ -207,7 +207,7 @@ dependencies:
|
|
207
207
|
- !ruby/object:Gem::Version
|
208
208
|
version: '0'
|
209
209
|
description: Making object from any hash or hash array
|
210
|
-
email:
|
210
|
+
email:
|
211
211
|
executables: []
|
212
212
|
extensions: []
|
213
213
|
extra_rdoc_files: []
|
@@ -227,12 +227,10 @@ files:
|
|
227
227
|
- README.md
|
228
228
|
- Rakefile
|
229
229
|
- docker-compose.yml
|
230
|
-
- gemfiles/rails.5.0.gemfile
|
231
|
-
- gemfiles/rails.5.1.gemfile
|
232
|
-
- gemfiles/rails.5.2.gemfile
|
233
230
|
- gemfiles/rails.6.0.gemfile
|
234
231
|
- gemfiles/rails.6.1.gemfile
|
235
232
|
- gemfiles/rails.7.0.gemfile
|
233
|
+
- gemfiles/rails.7.1.gemfile
|
236
234
|
- granite-form.gemspec
|
237
235
|
- lib/granite/form.rb
|
238
236
|
- lib/granite/form/active_record/associations.rb
|
@@ -380,7 +378,7 @@ files:
|
|
380
378
|
homepage: https://github.com/toptal/granite-form
|
381
379
|
licenses: []
|
382
380
|
metadata: {}
|
383
|
-
post_install_message:
|
381
|
+
post_install_message:
|
384
382
|
rdoc_options: []
|
385
383
|
require_paths:
|
386
384
|
- lib
|
@@ -395,8 +393,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
395
393
|
- !ruby/object:Gem::Version
|
396
394
|
version: '0'
|
397
395
|
requirements: []
|
398
|
-
rubygems_version: 3.
|
399
|
-
signing_key:
|
396
|
+
rubygems_version: 3.4.6
|
397
|
+
signing_key:
|
400
398
|
specification_version: 4
|
401
399
|
summary: Working with hashes in AR style
|
402
400
|
test_files:
|
data/gemfiles/rails.5.1.gemfile
DELETED
@@ -1,14 +0,0 @@
|
|
1
|
-
# This file was generated by Appraisal
|
2
|
-
|
3
|
-
source "https://rubygems.org"
|
4
|
-
|
5
|
-
gem "activesupport", "~> 5.1.0"
|
6
|
-
gem "activemodel", "~> 5.1.0"
|
7
|
-
gem "activerecord", "~> 5.1.0"
|
8
|
-
|
9
|
-
group :test do
|
10
|
-
gem "guard"
|
11
|
-
gem "guard-rspec"
|
12
|
-
end
|
13
|
-
|
14
|
-
gemspec path: "../"
|
data/gemfiles/rails.5.2.gemfile
DELETED
@@ -1,14 +0,0 @@
|
|
1
|
-
# This file was generated by Appraisal
|
2
|
-
|
3
|
-
source "https://rubygems.org"
|
4
|
-
|
5
|
-
gem "activesupport", "~> 5.2.0"
|
6
|
-
gem "activemodel", "~> 5.2.0"
|
7
|
-
gem "activerecord", "~> 5.2.0"
|
8
|
-
|
9
|
-
group :test do
|
10
|
-
gem "guard"
|
11
|
-
gem "guard-rspec"
|
12
|
-
end
|
13
|
-
|
14
|
-
gemspec path: "../"
|