Assert::Assertions::Url(PropertyType)
Inherits Assert::Assertions::Assertion / Reference / Object
Validates a string is a properly formatted URL.
Optional Arguments
- protocols - The protocols considered to be valid.
- relative_protocol - If the protocol is optional.
- normalizer - Execute a
Procto alter actual before checking its validity.
Example
class Example
include Assert
def initialize; end
@[Assert::Url]
property ipv6_url : String = "http://[::1]:80/"
@[Assert::Url(relative_protocol: true)]
property relative_url : String = "//example.fake/blog/"
@[Assert::Url(protocols: %w(ftp file git))]
property file_url : String = "file://127.0.0.1"
@[Assert::Url(normalizer: ->(actual : String) { actual.strip })]
property normalizer : String = "\x09\x09http://www.google.com"
end
Example.new.valid? # => true
Constructors
new(property_name : String, actual : Union(String, Nil), protocols : Array(String) = ["http", "https"] of ::String, relative_protocol : Bool = false, normalizer : Proc(String, String) | Nil = nil, message : String | Nil = nil, groups : Array(String) | Nil = nil)
SourceInstance methods
default_message_template
Returns the default #message_template to use if no message is provided.
message
The message to display if self is not valid.
NOTE: This method is defined automatically, and is just present for documentation purposes.