module EvilEvents::Core::Events::EventExtensions::MetadataExtendable::ClassMethods
@since 0.1.0
Public Instance Methods
inherited(child_class)
click to toggle source
@param child_class [Class]
@since 0.1.0
Calls superclass method
# File lib/evil_events/core/events/event_extensions/metadata_extendable.rb, line 30 def inherited(child_class) child_class.const_set(:Metadata, Class.new(AbstractMetadata)) super end
metadata(key, type = EvilEvents::Types::Any, **options)
click to toggle source
@param key [Symbol] @param type [EvilEvents::Shared::Types::Any] @param options [Hash] @return void
@since 0.1.0
# File lib/evil_events/core/events/event_extensions/metadata_extendable.rb, line 48 def metadata(key, type = EvilEvents::Types::Any, **options) if type.is_a?(Symbol) type = EvilEvents::Core::Bootstrap[:event_system].resolve_type(type, **options) end metadata_class.attribute(key, type) end
metadata_class()
click to toggle source
@return [Class{AbstractMetadata}]
@since 0.2.0
# File lib/evil_events/core/events/event_extensions/metadata_extendable.rb, line 38 def metadata_class const_get(:Metadata) end
metadata_fields()
click to toggle source
@return [Array<Symbol>]
@since 0.1.0
# File lib/evil_events/core/events/event_extensions/metadata_extendable.rb, line 59 def metadata_fields metadata_class.attribute_names end