Class: TypeGeneric
- Inherits:
-
Object
- Object
- TypeGeneric
- Defined in:
- lib/ansible/ruby/models/type_generic.rb
Overview
See LICENSE.txt for license
Instance Attribute Summary collapse
-
#klasses ⇒ Object
readonly
Returns the value of attribute klasses.
Instance Method Summary collapse
- #eql?(other) ⇒ Boolean
- #error(attribute, value) ⇒ Object
- #hash ⇒ Object
-
#initialize(*klasses) ⇒ TypeGeneric
constructor
A new instance of TypeGeneric.
- #valid?(value) ⇒ Boolean
Constructor Details
#initialize(*klasses) ⇒ TypeGeneric
Returns a new instance of TypeGeneric.
7 8 9 |
# File 'lib/ansible/ruby/models/type_generic.rb', line 7 def initialize(*klasses) @klasses = klasses end |
Instance Attribute Details
#klasses ⇒ Object (readonly)
Returns the value of attribute klasses.
5 6 7 |
# File 'lib/ansible/ruby/models/type_generic.rb', line 5 def klasses @klasses end |
Instance Method Details
#eql?(other) ⇒ Boolean
24 25 26 |
# File 'lib/ansible/ruby/models/type_generic.rb', line 24 def eql?(other) other.is_a?(TypeGeneric) && other.klasses == @klasses end |
#error(attribute, value) ⇒ Object
19 20 21 22 |
# File 'lib/ansible/ruby/models/type_generic.rb', line 19 def error(attribute, value) object = validation_object(value) "Attribute #{attribute} expected to be a #{@klasses} but was a #{object.class}" end |
#hash ⇒ Object
28 29 30 31 32 |
# File 'lib/ansible/ruby/models/type_generic.rb', line 28 def hash @klasses.inject(0) do |hash, klass| hash ^ klass.hash end end |
#valid?(value) ⇒ Boolean
11 12 13 14 15 16 17 |
# File 'lib/ansible/ruby/models/type_generic.rb', line 11 def valid?(value) validation_object = validation_object(value) # Don't worry about nil return true unless validation_object @klasses.any? { |klass| validation_object.is_a? klass } end |