Class: Contracts::KeywordArgs

Inherits:
CallableClass show all
Defined in:
lib/contracts/builtin_contracts.rb

Overview

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

Instance Method Summary collapse

Methods inherited from CallableClass

[]

Constructor Details

#initialize(options) ⇒ KeywordArgs

Returns a new instance of KeywordArgs.



369
370
371
# File 'lib/contracts/builtin_contracts.rb', line 369

def initialize(options)
  @options = options
end

Instance Method Details

#inspectObject



383
384
385
# File 'lib/contracts/builtin_contracts.rb', line 383

def inspect
  to_s
end

#to_sObject



379
380
381
# File 'lib/contracts/builtin_contracts.rb', line 379

def to_s
  "KeywordArgs[#{options}]"
end

#valid?(hash) ⇒ Boolean

Returns:

  • (Boolean)


373
374
375
376
377
# File 'lib/contracts/builtin_contracts.rb', line 373

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