Sha256: d77a3e9fb540061f8cd07fcf37d8666c3e31a172d1e4d7ad8644b4be06d2229f
Contents?: true
Size: 674 Bytes
Versions: 28
Compression:
Stored size: 674 Bytes
Contents
# frozen_string_literal: true module Hako module Schema class Structure def initialize @members = {} end def valid?(object) unless object.is_a?(::Hash) return false end @members.each do |key, val_schema| unless val_schema.valid?(object[key]) return false end end true end def same?(x, y) @members.each do |key, val_schema| unless val_schema.same?(x[key], y[key]) return false end end true end def member(key, schema) @members[key] = schema end end end end
Version data entries
28 entries across 28 versions & 1 rubygems