Class: Trafaret::URI
Instance Attribute Summary
Attributes inherited from Validator
#converters, #options
Instance Method Summary
collapse
Methods inherited from Validator
#&, #===, #add, #call, #failure, #initialize, #perform_convert, #to, #|
Instance Method Details
#convert(uri) ⇒ Object
20
21
22
|
# File 'lib/trafaret/uri_email.rb', line 20
def convert(uri)
uri.to_s
end
|
#prepare ⇒ Object
5
6
7
|
# File 'lib/trafaret/uri_email.rb', line 5
def prepare
@schemes = @options.delete(:schemes) || []
end
|
#validate(data) ⇒ Object
9
10
11
12
13
14
15
16
17
18
|
# File 'lib/trafaret/uri_email.rb', line 9
def validate(data)
uri = ::URI.parse(data)
unless @schemes.empty? || @schemes.include?(uri.scheme)
failure('Invalid scheme')
else
uri
end
rescue ::URI::InvalidURIError
failure('Invalid URI')
end
|