module EvilEvents::Core::Events::EventExtensions::Payloadable::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/payloadable.rb, line 30 def inherited(child_class) child_class.const_set(:Payload, Class.new(AbstractPayload)) super end
payload(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/payloadable.rb, line 48 def payload(key, type = EvilEvents::Types::Any, **options) if type.is_a?(Symbol) type = EvilEvents::Core::Bootstrap[:event_system].resolve_type(type, **options) end payload_class.attribute(key, type) end
payload_class()
click to toggle source
@return [Class{AbstractPayload}]
@since 0.2.0
# File lib/evil_events/core/events/event_extensions/payloadable.rb, line 38 def payload_class const_get(:Payload) end
payload_fields()
click to toggle source
@return [Array<Symbol>]
@since 0.1.0
# File lib/evil_events/core/events/event_extensions/payloadable.rb, line 59 def payload_fields payload_class.attribute_names end