class Midnight::BusinessLogic::Event
Constants
- DEFAULT_METADATA_GENERATOR
Attributes
data[R]
metadata[R]
Public Class Methods
new(data: {}, metadata: nil)
click to toggle source
# File lib/midnight/business_logic/event.rb, line 16 def initialize(data: {}, metadata: nil) @data = data @metadata = metadata || DEFAULT_METADATA_GENERATOR.call freeze end
strict(data: {}, metadata: nil)
click to toggle source
# File lib/midnight/business_logic/event.rb, line 25 def strict(data: {}, metadata: nil) ensure_schema(data) new( data: data, metadata: metadata ) end
Private Class Methods
ensure_schema(_data)
click to toggle source
# File lib/midnight/business_logic/event.rb, line 35 def ensure_schema(_data) raise NotImplementedError # example # @data_schema ||= ::Dry::Schema.Params do # required(:example_field).filled(:string) # end # result = @data_schema.call(data) # raise SchemaViolation unless result.success? end