Sha256: a8d96ffaa220585e9e7201fa57826cc664e8ad0827b57216dc10f4880505d6bd

Contents?: true

Size: 566 Bytes

Versions: 4

Compression:

Stored size: 566 Bytes

Contents

module Gameball
  module Utils
    extend self

    def validate(hash, required, optional)
      errors = []
      required.each do |val|
        raise Gameball::GameballError.new("Required key: #{val.to_sym.inspect}") unless hash.has_key?(val.to_sym)
      end
      optional = optional + required
      hash.each_key do |val|
        unless optional.include?(val.to_s)
          raise Gameball::GameballError.new("Unknown key: #{val.to_sym.inspect}. Valid keys are: #{optional.map(&:inspect).join(", ")}")
        end
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
alphaSDK-0.2.6 lib/gameball/utils/validation.rb
alphaSDK-0.2.5 lib/gameball/utils/validation.rb
alphaSDK-0.2.4 lib/gameball/utils/validation.rb
alphaSDK-0.0.3 lib/gameball/utils/validation.rb