Module: JsonModel::Types
- Defined in:
- lib/json_model/types.rb,
lib/json_model/types/ref.rb,
lib/json_model/types/alias.rb,
lib/json_model/types/any_of.rb,
lib/json_model/types/one_of.rb
Defined Under Namespace
Classes: Alias, AnyOf, OneOf, Ref
Constant Summary
collapse
- Date =
Dry::Types['date'].meta(format: 'date')
- DateTime =
Dry::Types['date_time'].meta(format: 'date-time')
- Email =
String.constrained(format: URI::MailTo::EMAIL_REGEXP).meta(format: 'email')
- Hostname =
String.constrained(
format: /(?i)^(?:([a-z0-9-]+|\*)\.)?([a-z0-9-]{1,61})\.([a-z0-9]{2,7})$/,
).meta(format: 'hostname')
- IPv4 =
String.constrained(
format: ::Resolv::IPv4::Regex,
).meta(format: 'ipv4')
- IPv6 =
String.constrained(
format: ::Resolv::IPv6::Regex,
).meta(format: 'ipv6')
- Time =
Dry::Types['time'].meta(format: 'time')
- UUID =
String.constrained(
format: /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,
).meta(format: 'uuid')
- URI =
String.constrained(
format: ::URI::DEFAULT_PARSER.make_regexp,
).meta(format: 'uri')
- UriReference =
String.constrained(
format: %r{^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?},
).meta(format: 'uri-reference')
- Regex =
String.constrained(
format: %r{\A(/?)(.+)\1([a-z]*)\z}i,
).meta(format: 'regex')
- UniqueArray =
Array.constrained(unique: true)
Class Method Summary
collapse
Class Method Details
.any_of(tag_key) ⇒ AnyOf
8
9
10
11
12
|
# File 'lib/json_model/types/any_of.rb', line 8
def any_of(tag_key, &)
builder = AnyOf::Builder.new(tag_key)
builder.instance_eval(&)
builder.build
end
|
.one_of(tag_key) ⇒ OneOf
8
9
10
11
12
|
# File 'lib/json_model/types/one_of.rb', line 8
def one_of(tag_key, &)
builder = OneOf::Builder.new(tag_key)
builder.instance_eval(&)
builder.build
end
|