Module: Concurrent::Actor::TypeCheck
Relationships & Source Files | |
Extension / Inclusion / Inheritance Descendants | |
Included In:
AbstractContext ,
ActorTerminated ,
Behaviour::Abstract ,
Behaviour::Awaits ,
Behaviour::Buffer ,
Behaviour::ErrorsOnUnknownMessage ,
Behaviour::ExecutesContext ,
Behaviour::Linking ,
Behaviour::Pausing ,
Behaviour::RemovesChild ,
Behaviour::SetResults ,
Behaviour::Supervising ,
Behaviour::Termination ,
Context ,
Core ,
DefaultDeadLetterHandler ,
Envelope ,
Reference ,
RestartingContext ,
Root ,
UnknownMessage ,
Utils::AdHoc ,
Utils::Balancer ,
Utils::Broadcast ,
Utils::Pool
| |
Defined in: | lib/concurrent-ruby-edge/concurrent/actor/type_check.rb |
Overview
taken from Algebrick supplies type-checking helpers whenever included
Class Method Summary
- .error(value, message, types) private
Instance Method Summary
Class Method Details
.error(value, message, types) (private)
# File 'lib/concurrent-ruby-edge/concurrent/actor/type_check.rb', line 41
def self.error(value, , types) raise TypeError, "Value (#{value.class}) '#{value}' #{} any of: #{types.join('; ')}." end
Instance Method Details
Child!(value, *types)
[ GitHub ]
Child?(value, *types) ⇒ Boolean
# File 'lib/concurrent-ruby-edge/concurrent/actor/type_check.rb', line 28
def Child?(value, *types) Type?(value, Class) && types.any? { |t| value <= t } end
Match!(value, *types)
[ GitHub ]
Match?(value, *types) ⇒ Boolean
# File 'lib/concurrent-ruby-edge/concurrent/actor/type_check.rb', line 18
def Match?(value, *types) types.any? { |t| t === value } end
Type!(value, *types)
[ GitHub ]
Type?(value, *types) ⇒ Boolean
# File 'lib/concurrent-ruby-edge/concurrent/actor/type_check.rb', line 8
def Type?(value, *types) types.any? { |t| value.is_a? t } end