Class: JSONSkooma::Validators::UriTemplate
- Defined in:
- lib/json_skooma/validators/uri_template.rb
Constant Summary collapse
- PCT =
/%\h\h/
- VAR_CHAR =
/[A-Za-z\d_]|(#{PCT})/
- VAR_NAME =
/#{VAR_CHAR}(\.?#{VAR_CHAR})*/
- MOD4 =
/(:[1-9]\d{0,3}|(\*)?)/
- VAR_SPEC =
/#{VAR_NAME}(#{MOD4})?/
- VAR_LIST =
/#{VAR_SPEC}(,#{VAR_SPEC})*/
- OPERATOR =
/[+#.\/;?&=,!@|]/
- EXPRESSION =
/\{#{OPERATOR}?#{VAR_LIST}\}/
- LITERALS =
/[^\x00-\x20\x7F"'%<>\\^`{|}]/
- URI_TEMPLATE =
/((#{LITERALS})|(#{EXPRESSION}))*/
- REGEXP =
/\A#{URI_TEMPLATE}\z/
Instance Method Summary collapse
Methods inherited from Base
Instance Method Details
#call(data) ⇒ Object
19 20 21 22 23 |
# File 'lib/json_skooma/validators/uri_template.rb', line 19 def call(data) return if REGEXP.match?(data) raise FormatError, "#{data} is not a valid URI template" end |