class Contracts::Builtin::KeywordArgs

Use this for specifying contracts for keyword arguments Example: KeywordArgs[ e: Range, f: Optional[Num] ]

Attributes

options[R]

Public Class Methods

new(options) click to toggle source
Calls superclass method
# File lib/contracts/builtin_contracts.rb, line 444
def initialize(options)
  super()
  @options = options
end

Public Instance Methods

inspect() click to toggle source
# File lib/contracts/builtin_contracts.rb, line 462
def inspect
  to_s
end
to_s() click to toggle source
# File lib/contracts/builtin_contracts.rb, line 458
def to_s
  "KeywordArgs[#{options}]"
end
valid?(hash) click to toggle source
# File lib/contracts/builtin_contracts.rb, line 449
def valid?(hash)
  return false unless hash.is_a?(Hash)
  return false unless hash.keys - options.keys == []

  options.all? do |key, contract|
    Optional._valid?(hash, key, contract)
  end
end