Module: EventEngine::EventDefinition::Schemas::ClassMethods

Defined in:
lib/event_engine/event_definition/schemas.rb

Instance Method Summary collapse

Instance Method Details

#schemaObject

Raises:

  • (ArgumentError)


114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
# File 'lib/event_engine/event_definition/schemas.rb', line 114

def schema
  errors = schema_errors
  raise ArgumentError, errors.join(", ") if errors.any?

  required = inputs.select { |_, v| v== :required }.keys
  optional = inputs.select { |_, v| v== :optional }.keys

  Schema.new(
    event_name: @event_name,
    event_type: @event_type,
    subject: @subject,
    domain: @domain,
    required_inputs: required,
    optional_inputs: optional,
    payload_fields: payload_fields
  )
end

#schema_errorsObject



132
133
134
135
136
137
# File 'lib/event_engine/event_definition/schemas.rb', line 132

def schema_errors
  errors = []
  validate_identity(errors)
  validate_payload_fields(errors)
  errors
end

#valid_schema?Boolean

Returns:

  • (Boolean)


139
140
141
# File 'lib/event_engine/event_definition/schemas.rb', line 139

def valid_schema?
  schema_errors.empty?
end