iknow_params 2.2.4 → 2.3.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e04e6c4dd0a375bed586bd4c0107dccfa2a1226fd42e16397cf7e8cbc74a5dc9
4
- data.tar.gz: a1b11326a2487733f032f2a095ae1e15bf56e2254dc11eab6522710178109a29
3
+ metadata.gz: ee414853a4b2107338e0f17ce3a81b9fbe12a5a0e9ac95e65664469fb5b3cbd9
4
+ data.tar.gz: 2d3c43707efeccea503065088c66ea75c6180d20f5f02e8d84260dc544bdabaf
5
5
  SHA512:
6
- metadata.gz: 7d883780b8b0ba7bf8175f99d79454451a0767d42c3eadc4965d31a8f73cc8cd6748d79d99411da10dcdeb686bb154e3294d4074a2a0ffbdaae84996e26bce8f
7
- data.tar.gz: c478dacd778625d53f71f28bbd793d00b4558d9e327b52d3f0a77a4ae1b8f879c91bd3bdbdcdca77a0fea8cab188d495e12895d58f98128364c4e69f28cb5ab8
6
+ metadata.gz: 97841f46f550b5337bde1159408197bae0097ef6fc32f130ca35d9fd797a80430a1c506f2734d53d7929d4adc90fb344ef970f47bfacf4ed8cdfd5fcbcac1d20
7
+ data.tar.gz: 80127d5d23352dbc2e30a85a7dc396c08998fa52ca8f44e04d443b3f9bacb2b1c68e74d836060356dd73e37e678b3753b572d0eb21403d9c8d1eb46f3e1814b2
@@ -0,0 +1,31 @@
1
+ name: Publish Ruby Gem
2
+
3
+ on:
4
+ push:
5
+ branches: [ "master" ]
6
+
7
+ jobs:
8
+ build:
9
+ name: Build + Publish
10
+ runs-on: ubuntu-latest
11
+ permissions:
12
+ contents: read
13
+ packages: write
14
+
15
+ steps:
16
+ - uses: actions/checkout@v3
17
+ - name: Set up Ruby 2.7
18
+ uses: ruby/setup-ruby@v1
19
+ with:
20
+ ruby-version: 2.7
21
+
22
+ - name: Publish to RubyGems
23
+ run: |
24
+ mkdir -p $HOME/.gem
25
+ touch $HOME/.gem/credentials
26
+ chmod 0600 $HOME/.gem/credentials
27
+ printf -- "---\n:rubygems_api_key: ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials
28
+ gem build *.gemspec
29
+ gem push *.gem
30
+ env:
31
+ GEM_HOST_API_KEY: "${{secrets.RUBYGEMS_AUTH_TOKEN}}"
@@ -0,0 +1,54 @@
1
+ name: Run Tests
2
+
3
+ on:
4
+ pull_request:
5
+ branches: "**"
6
+
7
+ permissions:
8
+ contents: read
9
+ checks: write
10
+ pull-requests: write
11
+
12
+ jobs:
13
+ test:
14
+ runs-on: ubuntu-latest
15
+
16
+ strategy:
17
+ fail-fast: false
18
+ matrix:
19
+ ruby-version: ['2.7', '3.0', '3.1', '3.2']
20
+ include:
21
+ - ruby-version: '2.7'
22
+ bundle-gemfile: gemfiles/activesupport_5_2.gemfile
23
+ - ruby-version: '3.0'
24
+ bundle-gemfile: gemfiles/activesupport_6_0.gemfile
25
+ - ruby-version: '3.1'
26
+ bundle-gemfile: gemfiles/activesupport_6_1.gemfile
27
+ - ruby-version: '3.2'
28
+ bundle-gemfile: gemfiles/activesupport_7_0.gemfile
29
+
30
+ env: # $BUNDLE_GEMFILE must be set at the job level, so it is set for all steps
31
+ BUNDLE_GEMFILE: ${{ github.workspace }}/${{ matrix.bundle-gemfile }}
32
+
33
+ steps:
34
+ - uses: actions/checkout@v3
35
+ - name: Set up Ruby
36
+ uses: ruby/setup-ruby@v1
37
+ with:
38
+ ruby-version: ${{ matrix.ruby-version }}
39
+ bundler-cache: true # runs 'bundle install' and caches installed gems automatically
40
+ - name: Run tests
41
+ run: bundle exec rspec --profile 10 --format RspecJunitFormatter --out test_results/rspec.xml --format progress
42
+ - name: Upload result
43
+ uses: actions/upload-artifact@v3
44
+ if: always()
45
+ with:
46
+ name: rspec_${{ matrix.ruby-version }}.xml
47
+ path: test_results/rspec.xml
48
+ - name: Test Report
49
+ uses: dorny/test-reporter@v1
50
+ if: always()
51
+ with:
52
+ name: Rspec Tests - ${{ matrix.ruby-version }}
53
+ path: test_results/rspec.xml
54
+ reporter: java-junit
data/Appraisals CHANGED
@@ -1,7 +1,14 @@
1
- appraise "activesupport-5-2" do
2
- gem "activesupport", "~> 5.2.0"
1
+ appraise 'activesupport-5-2' do
2
+ gem 'activesupport', '~> 5.2.0'
3
+ gem 'rails', '~> 5.2.0'
3
4
  end
4
5
 
5
- appraise 'activesupport-6-0 do
6
- gem 'activesupport', '~> 6.0.0"
6
+ appraise 'activesupport-6-0' do
7
+ gem 'activesupport', '~> 6.0.0'
8
+ gem 'rails', '~> 6.0.0'
9
+ end
10
+
11
+ appraise 'activesupport-7-0' do
12
+ gem 'activesupport', '~> 7.0.0'
13
+ gem 'rails', '~> 7.0.0'
7
14
  end
@@ -4,5 +4,6 @@ source "https://rubygems.org"
4
4
 
5
5
  gem "rspec_junit_formatter"
6
6
  gem "activesupport", "~> 5.2.0"
7
+ gem "rails", "~> 5.2.0"
7
8
 
8
9
  gemspec path: "../"
@@ -4,5 +4,6 @@ source "https://rubygems.org"
4
4
 
5
5
  gem "rspec_junit_formatter"
6
6
  gem "activesupport", "~> 6.0.0"
7
+ gem "rails", "~> 6.0.0"
7
8
 
8
9
  gemspec path: "../"
@@ -0,0 +1,9 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "rspec_junit_formatter"
6
+ gem "activesupport", "~> 6.1.0"
7
+ gem "rails", "~> 6.1.0"
8
+
9
+ gemspec path: "../"
@@ -0,0 +1,9 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "rspec_junit_formatter"
6
+ gem "activesupport", "~> 7.0.0"
7
+ gem "rails", "~> 7.0.0"
8
+
9
+ gemspec path: "../"
data/iknow_params.gemspec CHANGED
@@ -13,23 +13,26 @@ Gem::Specification.new do |spec|
13
13
  spec.homepage = "http://github.com/iknow/iknow_params"
14
14
  spec.license = "MIT"
15
15
 
16
+ spec.required_ruby_version = ">= 2.5"
17
+ spec.required_rubygems_version = ">= 2.5"
18
+
16
19
  spec.files = `git ls-files -z`.split("\x0")
17
20
  spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
21
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
22
  spec.require_paths = ["lib"]
20
23
 
21
- spec.add_development_dependency "bundler", "~> 1.7"
22
- spec.add_development_dependency "rake", "~> 10.0"
24
+ spec.add_development_dependency "bundler", "~> 2.0"
25
+ spec.add_development_dependency "rake", "~> 12.0"
23
26
  spec.add_development_dependency "rspec", "~> 3.0"
24
27
  spec.add_development_dependency "sqlite3"
25
- spec.add_development_dependency "actionpack", "> 5.0"
26
- spec.add_development_dependency "rails", "> 5.0"
28
+ spec.add_development_dependency "actionpack", "> 5.2.0"
29
+ spec.add_development_dependency "rails", "> 5.2.0"
27
30
 
28
31
  spec.add_development_dependency "byebug"
29
32
  spec.add_development_dependency "appraisal"
30
33
  spec.add_development_dependency "tzinfo-data"
31
34
 
32
- spec.add_dependency "activesupport", "> 5.0"
35
+ spec.add_dependency "activesupport", "> 5.2.0"
33
36
  spec.add_dependency "tzinfo"
34
- spec.add_dependency "json-schema", "~> 2.8.0"
37
+ spec.add_dependency "json-schema", "~> 3.0.0"
35
38
  end
@@ -177,6 +177,8 @@ class IknowParams::Serializer
177
177
  # Abstract serializer for ISO8601 dates and times
178
178
  class ISO8601 < IknowParams::Serializer
179
179
  def load(str)
180
+ raise TypeError.new unless str.is_a?(::String)
181
+
180
182
  clazz.parse(str)
181
183
  rescue TypeError, ArgumentError => _e
182
184
  raise LoadError.new("Invalid type for conversion to #{clazz}")
@@ -235,7 +237,12 @@ class IknowParams::Serializer
235
237
  class UUID < String
236
238
  def load(str)
237
239
  matches_type!(str, err: LoadError)
238
- super
240
+
241
+ # UUIDs in Ruby are typically represented as lower case strings,
242
+ # for example, as returned by SecureRandom.uuid. To avoid surprises,
243
+ # and ensure that two equivalent UUIDs are equal to each other, we
244
+ # canonicalize any provided strings to lower case.
245
+ super.downcase
239
246
  end
240
247
 
241
248
  def matches_type?(str)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module IknowParams
4
- VERSION = '2.2.4'
4
+ VERSION = '2.3.1'
5
5
  end
@@ -4,6 +4,7 @@ require 'spec_helper'
4
4
  require 'iknow_params'
5
5
 
6
6
  require 'rails'
7
+ require 'active_support/core_ext'
7
8
  require 'action_controller'
8
9
 
9
10
  RSpec.describe IknowParams::Serializer do
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: iknow_params
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.4
4
+ version: 2.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - dev@iknow.jp
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-09-25 00:00:00.000000000 Z
11
+ date: 2023-09-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -16,28 +16,28 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '1.7'
19
+ version: '2.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: '1.7'
26
+ version: '2.0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '10.0'
33
+ version: '12.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: '10.0'
40
+ version: '12.0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rspec
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -72,28 +72,28 @@ dependencies:
72
72
  requirements:
73
73
  - - ">"
74
74
  - !ruby/object:Gem::Version
75
- version: '5.0'
75
+ version: 5.2.0
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - ">"
81
81
  - !ruby/object:Gem::Version
82
- version: '5.0'
82
+ version: 5.2.0
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: rails
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - ">"
88
88
  - !ruby/object:Gem::Version
89
- version: '5.0'
89
+ version: 5.2.0
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - ">"
95
95
  - !ruby/object:Gem::Version
96
- version: '5.0'
96
+ version: 5.2.0
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: byebug
99
99
  requirement: !ruby/object:Gem::Requirement
@@ -142,14 +142,14 @@ dependencies:
142
142
  requirements:
143
143
  - - ">"
144
144
  - !ruby/object:Gem::Version
145
- version: '5.0'
145
+ version: 5.2.0
146
146
  type: :runtime
147
147
  prerelease: false
148
148
  version_requirements: !ruby/object:Gem::Requirement
149
149
  requirements:
150
150
  - - ">"
151
151
  - !ruby/object:Gem::Version
152
- version: '5.0'
152
+ version: 5.2.0
153
153
  - !ruby/object:Gem::Dependency
154
154
  name: tzinfo
155
155
  requirement: !ruby/object:Gem::Requirement
@@ -170,14 +170,14 @@ dependencies:
170
170
  requirements:
171
171
  - - "~>"
172
172
  - !ruby/object:Gem::Version
173
- version: 2.8.0
173
+ version: 3.0.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: 2.8.0
180
+ version: 3.0.0
181
181
  description: ''
182
182
  email:
183
183
  - ''
@@ -185,10 +185,10 @@ executables: []
185
185
  extensions: []
186
186
  extra_rdoc_files: []
187
187
  files:
188
- - ".circleci/config.yml"
188
+ - ".github/workflows/gem-push.yml"
189
+ - ".github/workflows/test.yml"
189
190
  - ".gitignore"
190
191
  - ".rspec"
191
- - ".travis.yml"
192
192
  - Appraisals
193
193
  - Gemfile
194
194
  - LICENSE.txt
@@ -196,6 +196,8 @@ files:
196
196
  - Rakefile
197
197
  - gemfiles/activesupport_5_2.gemfile
198
198
  - gemfiles/activesupport_6_0.gemfile
199
+ - gemfiles/activesupport_6_1.gemfile
200
+ - gemfiles/activesupport_7_0.gemfile
199
201
  - iknow_params.gemspec
200
202
  - lib/iknow_params.rb
201
203
  - lib/iknow_params/parser.rb
@@ -222,14 +224,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
222
224
  requirements:
223
225
  - - ">="
224
226
  - !ruby/object:Gem::Version
225
- version: '0'
227
+ version: '2.5'
226
228
  required_rubygems_version: !ruby/object:Gem::Requirement
227
229
  requirements:
228
230
  - - ">="
229
231
  - !ruby/object:Gem::Version
230
- version: '0'
232
+ version: '2.5'
231
233
  requirements: []
232
- rubygems_version: 3.0.3
234
+ rubygems_version: 3.1.6
233
235
  signing_key:
234
236
  specification_version: 4
235
237
  summary: Rails parameter parser for iKnow.
data/.circleci/config.yml DELETED
@@ -1,103 +0,0 @@
1
- version: 2.1
2
-
3
- executors:
4
- ruby:
5
- parameters:
6
- ruby-version:
7
- type: string
8
- default: "2.6"
9
- gemfile:
10
- type: string
11
- default: "Gemfile"
12
- docker:
13
- - image: circleci/ruby:<< parameters.ruby-version >>
14
- environment:
15
- BUNDLE_JOBS: 3
16
- BUNDLE_RETRY: 3
17
- BUNDLE_PATH: vendor/bundle
18
- RAILS_ENV: test
19
- BUNDLE_GEMFILE: << parameters.gemfile >>
20
-
21
- jobs:
22
- test:
23
- parameters:
24
- ruby-version:
25
- type: string
26
- gemfile:
27
- type: string
28
- executor:
29
- name: ruby
30
- ruby-version: << parameters.ruby-version >>
31
- gemfile: << parameters.gemfile >>
32
- parallelism: 1
33
- steps:
34
- - checkout
35
-
36
- - run:
37
- # Remove the non-appraisal gemfile for safety: we never want to use it.
38
- name: Prepare bundler
39
- command: bundle -v
40
-
41
- - run:
42
- name: Compute a gemfile lock
43
- command: bundle lock && cp "${BUNDLE_GEMFILE}.lock" /tmp/gem-lock
44
-
45
- - restore_cache:
46
- keys:
47
- - iknow_params-<< parameters.ruby-version >>-{{ checksum "/tmp/gem-lock" }}
48
- - iknow_params-
49
-
50
- - run:
51
- name: Bundle Install
52
- command: bundle check || bundle install
53
-
54
- - save_cache:
55
- key: iknow_params-<< parameters.ruby-version >>-{{ checksum "/tmp/gem-lock" }}
56
- paths:
57
- - vendor/bundle
58
-
59
- - run:
60
- name: Run rspec
61
- command: bundle exec rspec --profile 10 --format RspecJunitFormatter --out test_results/rspec.xml --format progress
62
-
63
- - store_test_results:
64
- path: test_results
65
-
66
- publish:
67
- executor: ruby
68
- steps:
69
- - checkout
70
- - run:
71
- name: Setup Rubygems
72
- command: |
73
- mkdir ~/.gem &&
74
- echo -e "---\r\n:rubygems_api_key: $RUBYGEMS_API_KEY" > ~/.gem/credentials &&
75
- chmod 0600 ~/.gem/credentials
76
- - run:
77
- name: Publish to Rubygems
78
- command: |
79
- gem build iknow_params.gemspec
80
- gem push iknow_params-*.gem
81
-
82
- workflows:
83
- version: 2.1
84
- build:
85
- jobs:
86
- - test:
87
- name: 'ruby 2.5 ActiveSupport 5.2'
88
- ruby-version: "2.5"
89
- gemfile: gemfiles/activesupport_5_2.gemfile
90
- - test:
91
- name: 'ruby 2.6 ActiveSupport 5.2'
92
- ruby-version: "2.6"
93
- gemfile: gemfiles/activesupport_5_2.gemfile
94
- - test:
95
- name: 'ruby 2.6 ActiveSupport 6.0'
96
- ruby-version: "2.6"
97
- gemfile: gemfiles/activesupport_6_0.gemfile
98
- - publish:
99
- filters:
100
- branches:
101
- only: master
102
- tags:
103
- ignore: /.*/
data/.travis.yml DELETED
@@ -1,8 +0,0 @@
1
- dist: trusty
2
- language: ruby
3
- rvm:
4
- - 2.4
5
- gemfile:
6
- - gemfiles/activesupport_5_2.gemfile
7
- notifications:
8
- email: false