haveapi 0.27.0 → 0.27.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:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: c1d65a2661353ff707b5b33f0bf8df446bfd4dcc6c669b5af8fdc46dbbf8a0a5
|
|
4
|
+
data.tar.gz: ddb0c92670d615f22468c91c96f8e83e34cf53a3680cf55c588936aa95a34df7
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 908348858c2829a57531813ceb696c47768ec9a5e29133e8fb64e2c33613949ef70dd52468480a5a2e33c25c9c204541946ccfb982a17cec27656f4b184c2724
|
|
7
|
+
data.tar.gz: 82e5b873d368caf4914895b24fa4e57d6b0b39c55357910c307496c535cacbdfebb35cd4036b2d07bb1627625a951f5e04fa440416f1eaa141980a22e943468e
|
data/haveapi.gemspec
CHANGED
|
@@ -15,7 +15,7 @@ Gem::Specification.new do |s|
|
|
|
15
15
|
s.required_ruby_version = ">= #{File.read('../../.ruby-version').strip}"
|
|
16
16
|
|
|
17
17
|
s.add_dependency 'activesupport', '>= 7.1'
|
|
18
|
-
s.add_dependency 'haveapi-client', '~> 0.27.
|
|
18
|
+
s.add_dependency 'haveapi-client', '~> 0.27.1'
|
|
19
19
|
s.add_dependency 'json'
|
|
20
20
|
s.add_dependency 'mail'
|
|
21
21
|
s.add_dependency 'nesty', '~> 1.0'
|
|
@@ -148,7 +148,12 @@ module HaveAPI::ModelAdapters
|
|
|
148
148
|
|
|
149
149
|
if raw.is_a?(String)
|
|
150
150
|
stripped = raw.strip
|
|
151
|
-
|
|
151
|
+
|
|
152
|
+
if stripped.empty?
|
|
153
|
+
return nil if extra && extra[:optional]
|
|
154
|
+
|
|
155
|
+
raise HaveAPI::ValidationError, "not a valid id #{original.inspect}"
|
|
156
|
+
end
|
|
152
157
|
|
|
153
158
|
raw = stripped
|
|
154
159
|
|
|
@@ -92,9 +92,16 @@ module HaveAPI::Parameters
|
|
|
92
92
|
end
|
|
93
93
|
|
|
94
94
|
def clean(raw)
|
|
95
|
+
if raw.is_a?(String)
|
|
96
|
+
stripped = raw.strip
|
|
97
|
+
return nil if stripped.empty? && optional?
|
|
98
|
+
end
|
|
99
|
+
|
|
100
|
+
extra = @extra.merge(optional: optional?)
|
|
101
|
+
|
|
95
102
|
::HaveAPI::ModelAdapter.for(
|
|
96
103
|
show_action.input.layout, @resource.model
|
|
97
|
-
).input_clean(@resource.model, raw,
|
|
104
|
+
).input_clean(@resource.model, raw, extra)
|
|
98
105
|
end
|
|
99
106
|
|
|
100
107
|
def validate(v, params)
|
data/lib/haveapi/version.rb
CHANGED
|
@@ -343,6 +343,8 @@ describe HaveAPI::ModelAdapters::ActiveRecord do
|
|
|
343
343
|
expect(described_class::Input.clean(ARAdapterSpec::Environment, 1, {})).to eq(environment)
|
|
344
344
|
expect(described_class::Input.clean(ARAdapterSpec::Environment, '1', {})).to eq(environment)
|
|
345
345
|
expect(described_class::Input.clean(ARAdapterSpec::Environment, 1.0, {})).to eq(environment)
|
|
346
|
+
expect(described_class::Input.clean(ARAdapterSpec::Environment, '', { optional: true })).to be_nil
|
|
347
|
+
expect(described_class::Input.clean(ARAdapterSpec::Environment, ' ', { optional: true })).to be_nil
|
|
346
348
|
|
|
347
349
|
expect do
|
|
348
350
|
described_class::Input.clean(ARAdapterSpec::Environment, 'abc', {})
|
|
@@ -473,6 +473,30 @@ module HaveAPI
|
|
|
473
473
|
{ project: input[:project] }
|
|
474
474
|
end
|
|
475
475
|
end
|
|
476
|
+
|
|
477
|
+
define_action(:EchoResourceOptional) do
|
|
478
|
+
extend DocFilter
|
|
479
|
+
route 'echo_resource_optional'
|
|
480
|
+
http_method :get
|
|
481
|
+
input(:hash) do
|
|
482
|
+
resource HaveAPI::ClientTestAPI::Resources::Project, required: false
|
|
483
|
+
end
|
|
484
|
+
output(:hash) do
|
|
485
|
+
bool :project_provided, required: true
|
|
486
|
+
bool :project_nil, required: true
|
|
487
|
+
integer :project
|
|
488
|
+
end
|
|
489
|
+
authorize { allow }
|
|
490
|
+
|
|
491
|
+
def exec
|
|
492
|
+
ret = {
|
|
493
|
+
project_provided: input.has_key?(:project),
|
|
494
|
+
project_nil: input[:project].nil?
|
|
495
|
+
}
|
|
496
|
+
ret[:project] = input[:project] unless input[:project].nil?
|
|
497
|
+
ret
|
|
498
|
+
end
|
|
499
|
+
end
|
|
476
500
|
end
|
|
477
501
|
end
|
|
478
502
|
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: haveapi
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.27.
|
|
4
|
+
version: 0.27.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Jakub Skokan
|
|
@@ -29,14 +29,14 @@ dependencies:
|
|
|
29
29
|
requirements:
|
|
30
30
|
- - "~>"
|
|
31
31
|
- !ruby/object:Gem::Version
|
|
32
|
-
version: 0.27.
|
|
32
|
+
version: 0.27.1
|
|
33
33
|
type: :runtime
|
|
34
34
|
prerelease: false
|
|
35
35
|
version_requirements: !ruby/object:Gem::Requirement
|
|
36
36
|
requirements:
|
|
37
37
|
- - "~>"
|
|
38
38
|
- !ruby/object:Gem::Version
|
|
39
|
-
version: 0.27.
|
|
39
|
+
version: 0.27.1
|
|
40
40
|
- !ruby/object:Gem::Dependency
|
|
41
41
|
name: json
|
|
42
42
|
requirement: !ruby/object:Gem::Requirement
|