Sha256: 34413b561e0a259e7764f53f5955bb2b1c843151c8779727fd6d0952a3ee0138

Contents?: true

Size: 545 Bytes

Versions: 5

Compression:

Stored size: 545 Bytes

Contents

require 'json-schema'

module Fitting
  class Response
    class FullyValidates < Array
      def self.craft(schemas, body, strict)
        if schemas
          new(schemas.inject([]) do |res, schema|
            res.push(JSON::Validator.fully_validate(schema, body, :strict => strict))
          end)
        else
          @valid = false
          new
        end
      end

      def valid?
        @valid ||= any? { |fully_validate| fully_validate == [] }
      end

      def to_s
        @to_s ||= join("\n\n")
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
fitting-2.0.1 lib/fitting/response/fully_validates.rb
fitting-2.0.0 lib/fitting/response/fully_validates.rb
fitting-1.6.2 lib/fitting/response/fully_validates.rb
fitting-1.6.1 lib/fitting/response/fully_validates.rb
fitting-1.6.0 lib/fitting/response/fully_validates.rb