Sha256: 9dae713600cadf7a57f9c3fa23fb3979c73a331cfda25fdc51291ee58f10cf1e

Contents?: true

Size: 806 Bytes

Versions: 10

Compression:

Stored size: 806 Bytes

Contents

module OpenActive
  module Validators
    class UriValidator < BaseValidator
      # Coerce given value to the type the validator is validating against.
      # PLEASE NOTE: no checks are performed on the given value.
      # It is therefore recommended to call the "run" method first before this.
      #
      # @param value [mixed] The value to coerce.
      # @return [mixed] The same value.
      def coerce(value)
        return value if value.is_a?(::URI)

        URI.parse(value)
      end

      # Run validation on the given value.
      #
      # @param value [mixed] The value to validate.
      # @return [Boolean] Whether validation passes or not.
      def run(value)
        return true if value.is_a?(::URI)

        value =~ ::URI::DEFAULT_PARSER.make_regexp
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
openactive-0.5.0 lib/openactive/validators/uri_validator.rb
openactive-0.4.0 lib/openactive/validators/uri_validator.rb
openactive-0.3.0 lib/openactive/validators/uri_validator.rb
openactive-0.2.2 lib/openactive/validators/uri_validator.rb
openactive-0.2.1 lib/openactive/validators/uri_validator.rb
openactive-0.2.0 lib/openactive/validators/uri_validator.rb
openactive-0.1.2 lib/openactive/validators/uri_validator.rb
openactive-0.1.1 lib/openactive/validators/uri_validator.rb
openactive-0.1.0 lib/openactive/validators/uri_validator.rb
openactive-0.1.0.rc1 lib/openactive/validators/uri_validator.rb