Class: Typedocs::TypeSpec::HashType
- Inherits:
-
Typedocs::TypeSpec
- Object
- Typedocs::TypeSpec
- Typedocs::TypeSpec::HashType
- Defined in:
- lib/typedocs/type_spec.rb
Instance Method Summary collapse
-
#initialize(key_spec, value_spec) ⇒ HashType
constructor
A new instance of HashType.
- #to_source ⇒ Object
- #valid?(obj) ⇒ Boolean
Methods inherited from Typedocs::TypeSpec
Constructor Details
#initialize(key_spec, value_spec) ⇒ HashType
Returns a new instance of HashType.
150 151 152 153 |
# File 'lib/typedocs/type_spec.rb', line 150 def initialize(key_spec, value_spec) @key_spec = key_spec @value_spec = value_spec end |
Instance Method Details
#to_source ⇒ Object
159 160 161 |
# File 'lib/typedocs/type_spec.rb', line 159 def to_source "{#{@key_spec.to_source} => #{@value_spec.to_source}}" end |
#valid?(obj) ⇒ Boolean
154 155 156 157 158 |
# File 'lib/typedocs/type_spec.rb', line 154 def valid?(obj) obj.is_a?(::Hash) && obj.keys.all?{|k| @key_spec.valid? k} && obj.values.all?{|v| @value_spec.valid? v} end |