granite-form 0.4.0 → 0.5.0
Sign up to get free protection for your applications and to get access to all the features.
- 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: "../"
|