Skip to content

Commit 2215772

Browse files
committed
Rename Validators::Url to Validators::Uri
This doesn't anything specific for a URL.
1 parent 53fae01 commit 2215772

9 files changed

Lines changed: 31 additions & 27 deletions

File tree

lib/openapi3_parser/node_factory/contact.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
require "openapi3_parser/node_factory/object"
44
require "openapi3_parser/validation/input_validator"
55
require "openapi3_parser/validators/email"
6-
require "openapi3_parser/validators/url"
6+
require "openapi3_parser/validators/uri"
77

88
module Openapi3Parser
99
module NodeFactory
@@ -13,7 +13,7 @@ class Contact < NodeFactory::Object
1313
field "name", input_type: String
1414
field "url",
1515
input_type: String,
16-
validate: Validation::InputValidator.new(Validators::Url)
16+
validate: Validation::InputValidator.new(Validators::Uri)
1717
field "email",
1818
input_type: String,
1919
validate: Validation::InputValidator.new(Validators::Email)

lib/openapi3_parser/node_factory/example.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
require "openapi3_parser/node_factory/object"
44
require "openapi3_parser/validation/input_validator"
5-
require "openapi3_parser/validators/url"
5+
require "openapi3_parser/validators/uri"
66

77
module Openapi3Parser
88
module NodeFactory
@@ -14,7 +14,7 @@ class Example < NodeFactory::Object
1414
field "value"
1515
field "externalValue",
1616
input_type: String,
17-
validate: Validation::InputValidator.new(Validators::Url)
17+
validate: Validation::InputValidator.new(Validators::Uri)
1818

1919
mutually_exclusive "value", "externalValue"
2020

lib/openapi3_parser/node_factory/external_documentation.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
require "openapi3_parser/node_factory/object"
44
require "openapi3_parser/validation/input_validator"
5-
require "openapi3_parser/validators/url"
5+
require "openapi3_parser/validators/uri"
66

77
module Openapi3Parser
88
module NodeFactory
@@ -13,7 +13,7 @@ class ExternalDocumentation < NodeFactory::Object
1313
field "url",
1414
required: true,
1515
input_type: String,
16-
validate: Validation::InputValidator.new(Validators::Url)
16+
validate: Validation::InputValidator.new(Validators::Uri)
1717

1818
def build_node(data, node_context)
1919
Node::ExternalDocumentation.new(data, node_context)

lib/openapi3_parser/node_factory/info.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
require "openapi3_parser/node_factory/license"
55
require "openapi3_parser/node_factory/object"
66
require "openapi3_parser/validation/input_validator"
7-
require "openapi3_parser/validators/url"
7+
require "openapi3_parser/validators/uri"
88

99
module Openapi3Parser
1010
module NodeFactory
@@ -17,7 +17,7 @@ class Info < NodeFactory::Object
1717
field "description", input_type: String
1818
field "termsOfService",
1919
input_type: String,
20-
validate: Validation::InputValidator.new(Validators::Url)
20+
validate: Validation::InputValidator.new(Validators::Uri)
2121
field "contact", factory: NodeFactory::Contact
2222
field "license", factory: NodeFactory::License
2323
field "version", input_type: String, required: true

lib/openapi3_parser/node_factory/license.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
require "openapi3_parser/node_factory/object"
44
require "openapi3_parser/validation/input_validator"
5-
require "openapi3_parser/validators/url"
5+
require "openapi3_parser/validators/uri"
66

77
module Openapi3Parser
88
module NodeFactory
@@ -14,7 +14,7 @@ class License < NodeFactory::Object
1414
allowed: ->(context) { context.openapi_version >= "3.1" }
1515
field "url",
1616
input_type: String,
17-
validate: Validation::InputValidator.new(Validators::Url)
17+
validate: Validation::InputValidator.new(Validators::Uri)
1818
mutually_exclusive "identifier", "url"
1919

2020
def build_node(data, node_context)

lib/openapi3_parser/node_factory/openapi.rb

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,10 @@ class Openapi < NodeFactory::Object
1313

1414
field "openapi", input_type: String, required: true
1515
field "info", factory: NodeFactory::Info, required: true
16+
field "jsonSchemaDialect",
17+
default: "https://spec.openapis.org/oas/3.1/dialect/base",
18+
input_type: String,
19+
allowed: ->(context) { context.openapi_version >= "3.1" }
1620
field "servers", factory: :servers_factory
1721
field "paths",
1822
factory: NodeFactory::Paths,
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22

33
module Openapi3Parser
44
module Validators
5-
class Url
5+
class Uri
66
def self.call(input)
77
URI.parse(input) && nil
88
rescue URI::InvalidURIError
9-
%("#{input}" is not a valid URL)
9+
%("#{input}" is not a valid URI)
1010
end
1111
end
1212
end
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# frozen_string_literal: true
2+
3+
RSpec.describe Openapi3Parser::Validators::Uri do
4+
describe ".call" do
5+
it "returns nil for a valid URI" do
6+
expect(described_class.call("https://example.org/resource"))
7+
.to be_nil
8+
end
9+
10+
it "returns an error for an invalid URI" do
11+
expect(described_class.call("not a URI"))
12+
.to eq %("not a URI" is not a valid URI)
13+
end
14+
end
15+
end

spec/lib/openapi3_parser/validators/url_spec.rb

Lines changed: 0 additions & 15 deletions
This file was deleted.

0 commit comments

Comments
 (0)