iknow_params 2.2.3 → 2.3.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/.circleci/config.yml +7 -3
- data/Appraisals +11 -4
- data/gemfiles/activesupport_5_2.gemfile +1 -0
- data/gemfiles/activesupport_6_0.gemfile +1 -0
- data/gemfiles/activesupport_7_0.gemfile +9 -0
- data/iknow_params.gemspec +10 -6
- data/lib/iknow_params/serializer/array_of.rb +42 -0
- data/lib/iknow_params/serializer/hash_of.rb +44 -0
- data/lib/iknow_params/serializer/nullable.rb +35 -0
- data/lib/iknow_params/serializer.rb +6 -0
- data/lib/iknow_params/version.rb +1 -1
- data/spec/unit/serializer/array_of_spec.rb +32 -0
- data/spec/unit/serializer/hash_of_spec.rb +34 -0
- data/spec/unit/serializer_spec.rb +1 -0
- metadata +39 -18
- data/.travis.yml +0 -8
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: c54aa3dbf703f1f04fa03e590544353685c0f06164145cba052834c1d55c0930
|
|
4
|
+
data.tar.gz: 6ab10b40f1b8bec45460c00d2bf3a8a5f78d79cc7a4cae4186625f8386c9aeca
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: a0b4538a9449e86583e8fa478759c432e66d0157da607a742201205d211121f02c85a93fcc9cdddb887af0257570488c821d814fb4d339968221307a116a5942
|
|
7
|
+
data.tar.gz: fc3d1702617b6694a3849fa4fe707475c9fc672a51e659372307d2175b2b69f481f88fa45e2902e756f3f4da0a02e9229bf14908295924a149fcb77e447eaa01
|
data/.circleci/config.yml
CHANGED
|
@@ -10,7 +10,7 @@ executors:
|
|
|
10
10
|
type: string
|
|
11
11
|
default: "Gemfile"
|
|
12
12
|
docker:
|
|
13
|
-
- image:
|
|
13
|
+
- image: cimg/ruby:<< parameters.ruby-version >>
|
|
14
14
|
environment:
|
|
15
15
|
BUNDLE_JOBS: 3
|
|
16
16
|
BUNDLE_RETRY: 3
|
|
@@ -92,9 +92,13 @@ workflows:
|
|
|
92
92
|
ruby-version: "2.6"
|
|
93
93
|
gemfile: gemfiles/activesupport_5_2.gemfile
|
|
94
94
|
- test:
|
|
95
|
-
name: 'ruby 2.
|
|
96
|
-
ruby-version: "2.
|
|
95
|
+
name: 'ruby 2.7 ActiveSupport 6.0'
|
|
96
|
+
ruby-version: "2.7"
|
|
97
97
|
gemfile: gemfiles/activesupport_6_0.gemfile
|
|
98
|
+
- test:
|
|
99
|
+
name: 'ruby 3.1 ActiveSupport 7.0'
|
|
100
|
+
ruby-version: "3.1"
|
|
101
|
+
gemfile: gemfiles/activesupport_7_0.gemfile
|
|
98
102
|
- publish:
|
|
99
103
|
filters:
|
|
100
104
|
branches:
|
data/Appraisals
CHANGED
|
@@ -1,7 +1,14 @@
|
|
|
1
|
-
appraise
|
|
2
|
-
gem
|
|
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
|
data/iknow_params.gemspec
CHANGED
|
@@ -13,22 +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", "~>
|
|
22
|
-
spec.add_development_dependency "rake", "~>
|
|
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"
|
|
33
|
+
spec.add_development_dependency "tzinfo-data"
|
|
30
34
|
|
|
31
|
-
spec.add_dependency "activesupport", "> 5.0"
|
|
35
|
+
spec.add_dependency "activesupport", "> 5.2.0"
|
|
32
36
|
spec.add_dependency "tzinfo"
|
|
33
|
-
spec.add_dependency "json-schema", "~>
|
|
37
|
+
spec.add_dependency "json-schema", "~> 3.0.0"
|
|
34
38
|
end
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
# Serialize an array of application types to JSON types. Does not support fully
|
|
4
|
+
# rendering to/from a JSON string.
|
|
5
|
+
class IknowParams::Serializer::ArrayOf < IknowParams::Serializer
|
|
6
|
+
attr_reader :serializer, :allow_singleton
|
|
7
|
+
json_value!
|
|
8
|
+
|
|
9
|
+
def initialize(serializer, allow_singleton: false)
|
|
10
|
+
super(::Array)
|
|
11
|
+
@serializer = serializer
|
|
12
|
+
@allow_singleton = allow_singleton
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def load(jvals)
|
|
16
|
+
if allow_singleton
|
|
17
|
+
jvals = Array.wrap(jvals)
|
|
18
|
+
else
|
|
19
|
+
unless jvals.is_a?(Array)
|
|
20
|
+
raise IknowParams::Serializer::LoadError.new(
|
|
21
|
+
"Incorrect type for ArrayOf: #{jvals.inspect}:#{jvals.class.name} is not an array")
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
# Special case thanks to Rails' array query param format not differentating
|
|
26
|
+
# empty arrays (i.e. `route?param[]=`). Since we can only express one of
|
|
27
|
+
# empty array and singleton array containing empty string, we pick the more
|
|
28
|
+
# useful former.
|
|
29
|
+
return [] if jvals == ['']
|
|
30
|
+
|
|
31
|
+
jvals.map { |jval| serializer.load(jval) }
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
def dump(vals, json: true)
|
|
35
|
+
matches_type!(vals)
|
|
36
|
+
vals.map { |val| serializer.dump(val, json: json) }
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
def matches_type?(vals)
|
|
40
|
+
super(vals) && vals.all? { |val| serializer.matches_type?(val) }
|
|
41
|
+
end
|
|
42
|
+
end
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
# Serialize a hash structure of application types to JSON types. Does not
|
|
4
|
+
# support fully rendering to/from a JSON string.
|
|
5
|
+
class IknowParams::Serializer::HashOf < IknowParams::Serializer
|
|
6
|
+
attr_reader :key_serializer, :value_serializer
|
|
7
|
+
json_value!
|
|
8
|
+
|
|
9
|
+
def initialize(key_serializer, value_serializer)
|
|
10
|
+
super(::Hash)
|
|
11
|
+
@key_serializer = key_serializer
|
|
12
|
+
@value_serializer = value_serializer
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def load(jstructure)
|
|
16
|
+
jstructure = jstructure.to_unsafe_h if jstructure.is_a?(ActionController::Parameters)
|
|
17
|
+
|
|
18
|
+
unless jstructure.is_a?(Hash)
|
|
19
|
+
raise IknowParams::Serializer::LoadError.new(
|
|
20
|
+
"Incorrect type for HashOf: #{jstructure.inspect}:#{jstructure.class.name} is not a hash")
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
jstructure.each_with_object({}) do |(jkey, jvalue), result|
|
|
24
|
+
key = key_serializer.load(jkey)
|
|
25
|
+
value = value_serializer.load(jvalue)
|
|
26
|
+
result[key] = value
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def dump(structure, json: true)
|
|
31
|
+
matches_type!(structure)
|
|
32
|
+
structure.each_with_object({}) do |(key, value), result|
|
|
33
|
+
jkey = key_serializer.dump(key, json: false)
|
|
34
|
+
jvalue = value_serializer.dump(value, json: json)
|
|
35
|
+
result[jkey] = jvalue
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
def matches_type?(vals)
|
|
40
|
+
super(vals) && vals.all? do |k_val, v_val|
|
|
41
|
+
key_serializer.matches_type?(k_val) && value_serializer.matches_type?(v_val)
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
end
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
# Serialize a potentially nil application type to JSON types. Does not support
|
|
4
|
+
# fully rendering to/from a string.
|
|
5
|
+
class IknowParams::Serializer::Nullable < IknowParams::Serializer
|
|
6
|
+
attr_reader :serializer
|
|
7
|
+
|
|
8
|
+
def load(val)
|
|
9
|
+
if val.nil?
|
|
10
|
+
nil
|
|
11
|
+
else
|
|
12
|
+
serializer.load(val)
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def dump(val, json: false)
|
|
17
|
+
if val.nil?
|
|
18
|
+
nil
|
|
19
|
+
else
|
|
20
|
+
serializer.dump(val, json: json)
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def matches_type?(val)
|
|
25
|
+
val.nil? || super
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def json_value?
|
|
29
|
+
true
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
def initialize(serializer)
|
|
33
|
+
@serializer = serializer
|
|
34
|
+
end
|
|
35
|
+
end
|
|
@@ -83,6 +83,10 @@ class IknowParams::Serializer
|
|
|
83
83
|
end
|
|
84
84
|
end
|
|
85
85
|
|
|
86
|
+
require 'iknow_params/serializer/nullable'
|
|
87
|
+
require 'iknow_params/serializer/array_of'
|
|
88
|
+
require 'iknow_params/serializer/hash_of'
|
|
89
|
+
|
|
86
90
|
class String < IknowParams::Serializer
|
|
87
91
|
def initialize
|
|
88
92
|
super(::String)
|
|
@@ -173,6 +177,8 @@ class IknowParams::Serializer
|
|
|
173
177
|
# Abstract serializer for ISO8601 dates and times
|
|
174
178
|
class ISO8601 < IknowParams::Serializer
|
|
175
179
|
def load(str)
|
|
180
|
+
raise TypeError.new unless str.is_a?(::String)
|
|
181
|
+
|
|
176
182
|
clazz.parse(str)
|
|
177
183
|
rescue TypeError, ArgumentError => _e
|
|
178
184
|
raise LoadError.new("Invalid type for conversion to #{clazz}")
|
data/lib/iknow_params/version.rb
CHANGED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'spec_helper'
|
|
4
|
+
require 'iknow_params'
|
|
5
|
+
require 'rails'
|
|
6
|
+
|
|
7
|
+
RSpec.describe IknowParams::Serializer::ArrayOf do
|
|
8
|
+
let(:subject) { IknowParams::Serializer::ArrayOf.new(IknowParams::Serializer::Date) }
|
|
9
|
+
|
|
10
|
+
let(:serialized_dates) { ['2000-01-01', '2000-01-02'] }
|
|
11
|
+
let(:dates) { serialized_dates.map { |d| Date.parse(d) } }
|
|
12
|
+
|
|
13
|
+
describe '#load' do
|
|
14
|
+
it 'can load correct values' do
|
|
15
|
+
expect(subject.load(serialized_dates)).to eq(dates)
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
it 'raises load error on incorrect type' do
|
|
19
|
+
expect { subject.load(12) }.to raise_error(IknowParams::Serializer::LoadError)
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
describe '#dump' do
|
|
24
|
+
it 'can dump correct values' do
|
|
25
|
+
expect(subject.dump(dates)).to eq(serialized_dates)
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
it 'raises dump error on incorrect type' do
|
|
29
|
+
expect { subject.dump(12) }.to raise_error(IknowParams::Serializer::DumpError)
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'spec_helper'
|
|
4
|
+
require 'iknow_params'
|
|
5
|
+
require 'rails'
|
|
6
|
+
|
|
7
|
+
RSpec.describe IknowParams::Serializer::HashOf do
|
|
8
|
+
let(:subject) { IknowParams::Serializer::HashOf.new(IknowParams::Serializer::Integer, IknowParams::Serializer::Date) }
|
|
9
|
+
|
|
10
|
+
let(:serialized_dates) { { '1' => '2000-01-01', '2' => '2000-01-02' } }
|
|
11
|
+
let(:dates) do
|
|
12
|
+
{ 1 => Date.parse('2000-01-01'), 2 => Date.parse('2000-01-02') }
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
describe '#load' do
|
|
16
|
+
it 'can load correct values' do
|
|
17
|
+
expect(subject.load(serialized_dates)).to eq(dates)
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
it 'raises load error on incorrect type' do
|
|
21
|
+
expect { subject.load(12) }.to raise_error(IknowParams::Serializer::LoadError)
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
describe '#dump' do
|
|
26
|
+
it 'can dump correct values' do
|
|
27
|
+
expect(subject.dump(dates)).to eq(serialized_dates)
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
it 'raises dump error on incorrect type' do
|
|
31
|
+
expect { subject.dump(12) }.to raise_error(IknowParams::Serializer::DumpError)
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
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.
|
|
4
|
+
version: 2.3.0
|
|
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:
|
|
11
|
+
date: 2022-11-02 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: '
|
|
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: '
|
|
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: '
|
|
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: '
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
96
|
+
version: 5.2.0
|
|
97
97
|
- !ruby/object:Gem::Dependency
|
|
98
98
|
name: byebug
|
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -122,20 +122,34 @@ dependencies:
|
|
|
122
122
|
- - ">="
|
|
123
123
|
- !ruby/object:Gem::Version
|
|
124
124
|
version: '0'
|
|
125
|
+
- !ruby/object:Gem::Dependency
|
|
126
|
+
name: tzinfo-data
|
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
|
128
|
+
requirements:
|
|
129
|
+
- - ">="
|
|
130
|
+
- !ruby/object:Gem::Version
|
|
131
|
+
version: '0'
|
|
132
|
+
type: :development
|
|
133
|
+
prerelease: false
|
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
135
|
+
requirements:
|
|
136
|
+
- - ">="
|
|
137
|
+
- !ruby/object:Gem::Version
|
|
138
|
+
version: '0'
|
|
125
139
|
- !ruby/object:Gem::Dependency
|
|
126
140
|
name: activesupport
|
|
127
141
|
requirement: !ruby/object:Gem::Requirement
|
|
128
142
|
requirements:
|
|
129
143
|
- - ">"
|
|
130
144
|
- !ruby/object:Gem::Version
|
|
131
|
-
version:
|
|
145
|
+
version: 5.2.0
|
|
132
146
|
type: :runtime
|
|
133
147
|
prerelease: false
|
|
134
148
|
version_requirements: !ruby/object:Gem::Requirement
|
|
135
149
|
requirements:
|
|
136
150
|
- - ">"
|
|
137
151
|
- !ruby/object:Gem::Version
|
|
138
|
-
version:
|
|
152
|
+
version: 5.2.0
|
|
139
153
|
- !ruby/object:Gem::Dependency
|
|
140
154
|
name: tzinfo
|
|
141
155
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -156,14 +170,14 @@ dependencies:
|
|
|
156
170
|
requirements:
|
|
157
171
|
- - "~>"
|
|
158
172
|
- !ruby/object:Gem::Version
|
|
159
|
-
version:
|
|
173
|
+
version: 3.0.0
|
|
160
174
|
type: :runtime
|
|
161
175
|
prerelease: false
|
|
162
176
|
version_requirements: !ruby/object:Gem::Requirement
|
|
163
177
|
requirements:
|
|
164
178
|
- - "~>"
|
|
165
179
|
- !ruby/object:Gem::Version
|
|
166
|
-
version:
|
|
180
|
+
version: 3.0.0
|
|
167
181
|
description: ''
|
|
168
182
|
email:
|
|
169
183
|
- ''
|
|
@@ -174,7 +188,6 @@ files:
|
|
|
174
188
|
- ".circleci/config.yml"
|
|
175
189
|
- ".gitignore"
|
|
176
190
|
- ".rspec"
|
|
177
|
-
- ".travis.yml"
|
|
178
191
|
- Appraisals
|
|
179
192
|
- Gemfile
|
|
180
193
|
- LICENSE.txt
|
|
@@ -182,14 +195,20 @@ files:
|
|
|
182
195
|
- Rakefile
|
|
183
196
|
- gemfiles/activesupport_5_2.gemfile
|
|
184
197
|
- gemfiles/activesupport_6_0.gemfile
|
|
198
|
+
- gemfiles/activesupport_7_0.gemfile
|
|
185
199
|
- iknow_params.gemspec
|
|
186
200
|
- lib/iknow_params.rb
|
|
187
201
|
- lib/iknow_params/parser.rb
|
|
188
202
|
- lib/iknow_params/parser/hash_parser.rb
|
|
189
203
|
- lib/iknow_params/serializer.rb
|
|
204
|
+
- lib/iknow_params/serializer/array_of.rb
|
|
205
|
+
- lib/iknow_params/serializer/hash_of.rb
|
|
206
|
+
- lib/iknow_params/serializer/nullable.rb
|
|
190
207
|
- lib/iknow_params/version.rb
|
|
191
208
|
- spec/spec_helper.rb
|
|
192
209
|
- spec/unit/parser_spec.rb
|
|
210
|
+
- spec/unit/serializer/array_of_spec.rb
|
|
211
|
+
- spec/unit/serializer/hash_of_spec.rb
|
|
193
212
|
- spec/unit/serializer_spec.rb
|
|
194
213
|
homepage: http://github.com/iknow/iknow_params
|
|
195
214
|
licenses:
|
|
@@ -203,18 +222,20 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
203
222
|
requirements:
|
|
204
223
|
- - ">="
|
|
205
224
|
- !ruby/object:Gem::Version
|
|
206
|
-
version: '
|
|
225
|
+
version: '2.5'
|
|
207
226
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
208
227
|
requirements:
|
|
209
228
|
- - ">="
|
|
210
229
|
- !ruby/object:Gem::Version
|
|
211
|
-
version: '
|
|
230
|
+
version: '2.5'
|
|
212
231
|
requirements: []
|
|
213
|
-
rubygems_version: 3.
|
|
232
|
+
rubygems_version: 3.3.11
|
|
214
233
|
signing_key:
|
|
215
234
|
specification_version: 4
|
|
216
235
|
summary: Rails parameter parser for iKnow.
|
|
217
236
|
test_files:
|
|
218
237
|
- spec/spec_helper.rb
|
|
219
238
|
- spec/unit/parser_spec.rb
|
|
239
|
+
- spec/unit/serializer/array_of_spec.rb
|
|
240
|
+
- spec/unit/serializer/hash_of_spec.rb
|
|
220
241
|
- spec/unit/serializer_spec.rb
|