Class: Lyra::Schema::Generator

Inherits:
Object
  • Object
show all
Defined in:
lib/lyra/schema/generator.rb

Overview

Generates event schemas from monitored ActiveRecord models

Constant Summary collapse

STANDARD_DATA_FIELDS =
%w[model_class model_id operation attributes changes timestamp].freeze
STANDARD_METADATA_FIELDS =
%w[user_id request_id correlation_id causation_id source].freeze

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.generate ⇒ Object



13
14
15
# File 'lib/lyra/schema/generator.rb', line 13

def generate
  new.generate
end

Instance Method Details

#generate ⇒ Object



18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/lyra/schema/generator.rb', line 18

def generate
  schema = {
    version: next_version,
    created_at: Time.current.iso8601,
    lyra_version: Lyra::VERSION,
    rails_version: rails_version,
    models: generate_models_schema,
    configuration: generate_configuration_schema,
    summary: nil  # Placeholder, filled after models generated
  }

  schema[:summary] = generate_summary(schema[:models])
  schema[:fingerprint] = compute_fingerprint(schema)

  schema
end