Class: Typespec::Hash
- Inherits:
-
Object
- Object
- Typespec::Hash
- Defined in:
- lib/typespec.rb
Overview
…
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(**pairs) ⇒ Hash
constructor
A new instance of Hash.
- #valid?(value) ⇒ Boolean
Constructor Details
#initialize(**pairs) ⇒ Hash
Returns a new instance of Hash.
98 99 100 101 |
# File 'lib/typespec.rb', line 98 def initialize(**pairs) @pairs = pairs @pairs ||= {Typespec.any => Typespec.any} end |
Class Method Details
.[](**pairs) ⇒ Object
103 104 105 |
# File 'lib/typespec.rb', line 103 def self.[](**pairs) Typespec::Hash.new(**pairs) end |
Instance Method Details
#valid?(value) ⇒ Boolean
107 108 109 110 111 112 113 114 115 116 117 |
# File 'lib/typespec.rb', line 107 def valid?(value) if value.is_a? Hash value.all? do |k, v| @pairs.any? do |pair| pair.zip([k,v]).all? {|typespec, value| typespec.valid?(value)} end end else false end end |