module EvilEvents::Core::Events::EventExtensions::TypeAliasing::ClassMethods
Public Instance Methods
type(type_alias = nil)
click to toggle source
@param type_alias [String, NilClass] @raise [EvilEvents::IncopatibleEventTypeError] @raise [EvilEvents::EventTypeNotDefinedError] @raise [EvilEvents::EventTypeAlreadyDefinedError] @return [String]
@since 0.1.0
# File lib/evil_events/core/events/event_extensions/type_aliasing.rb, line 31 def type(type_alias = nil) case when incompatible_type_alias_type?(type_alias) raise EvilEvents::IncopatibleEventTypeError when fetching_type_alias_when_type_alias_not_defined?(type_alias) raise EvilEvents::EventTypeNotDefinedError when providing_type_alias_when_type_alias_already_defined?(type_alias) raise EvilEvents::EventTypeAlreadyDefinedError when tries_to_define_type_alias_first_time?(type_alias) @type = type_alias end @type end
Private Instance Methods
fetching_type_alias_when_type_alias_not_defined?(type_alias)
click to toggle source
@param type_alias [String, NilClass] @return [Boolean]
@since 0.1.0
# File lib/evil_events/core/events/event_extensions/type_aliasing.rb, line 60 def fetching_type_alias_when_type_alias_not_defined?(type_alias) !instance_variable_defined?(:@type) && type_alias.nil? end
incompatible_type_alias_type?(type_alias)
click to toggle source
@param type_alias [String, NilClass] @return [Boolean]
@since 0.1.0
# File lib/evil_events/core/events/event_extensions/type_aliasing.rb, line 52 def incompatible_type_alias_type?(type_alias) !(type_alias.is_a?(NilClass) || type_alias.is_a?(String)) end
providing_type_alias_when_type_alias_already_defined?(type_alias)
click to toggle source
@param type_alias [String, NilClass] @return [Boolean]
@since 0.1.0
# File lib/evil_events/core/events/event_extensions/type_aliasing.rb, line 68 def providing_type_alias_when_type_alias_already_defined?(type_alias) instance_variable_defined?(:@type) && type_alias end
tries_to_define_type_alias_first_time?(type_alias)
click to toggle source
@param type_alias [String, NilClass] @return [Boolean]
@since 0.1.0
# File lib/evil_events/core/events/event_extensions/type_aliasing.rb, line 76 def tries_to_define_type_alias_first_time?(type_alias) !instance_variable_defined?(:@type) && type_alias end