class JsonTableSchema::Types::String
Public Class Methods
supported_constraints()
click to toggle source
# File lib/jsontableschema/types/string.rb, line 9 def self.supported_constraints [ 'required', 'pattern', 'enum', 'minLength', 'maxLength', ] end
Public Instance Methods
cast_default(value)
click to toggle source
# File lib/jsontableschema/types/string.rb, line 27 def cast_default(value) if value.is_a?(type) return value else raise JsonTableSchema::InvalidCast.new("#{value} is not a #{name}") end end
cast_email(value)
click to toggle source
# File lib/jsontableschema/types/string.rb, line 35 def cast_email(value) value = cast_default(value) if (value =~ email_pattern) != nil value else raise JsonTableSchema::InvalidEmail.new("#{value} is not a valid email") end end
cast_uri(value)
click to toggle source
# File lib/jsontableschema/types/string.rb, line 44 def cast_uri(value) value = cast_default(value) if (value =~ URI::regexp) != nil value else raise JsonTableSchema::InvalidURI.new("#{value} is not a valid uri") end end
cast_uuid(value)
click to toggle source
# File lib/jsontableschema/types/string.rb, line 53 def cast_uuid(value) value = cast_default(value) if UUID.validate(value) value else raise JsonTableSchema::InvalidUUID.new("#{value} is not a valid UUID") end end
email_pattern()
click to toggle source
# File lib/jsontableschema/types/string.rb, line 23 def email_pattern /[^@]+@[^@]+\.[^@]+/ end
name()
click to toggle source
# File lib/jsontableschema/types/string.rb, line 5 def name 'string' end
type()
click to toggle source
# File lib/jsontableschema/types/string.rb, line 19 def type ::String end