Class: Acta::EventsRecord

Inherits:
ActiveRecord::Base
  • Object
show all
Defined in:
lib/acta/record.rb

Overview

Abstract intermediate. The actual events table lives on ‘Acta::Record` below; this class exists so hosts can call `connects_to` (which ActiveRecord rejects on concrete classes that have `table_name` set).

Default behaviour: inherits from ActiveRecord::Base, no shard or connection routing — Acta::Record uses whatever the host’s default connection is.

Hosts that need the events table to *share a connection pool* with their own tenant-scoped abstract base (so writes inside a single transaction don’t fight across pools on the same SQLite file) re-parent EventsRecord via ‘Acta.set_events_record_parent!`:

# config/initializers/_acta_record_parent.rb
class TenantRecord < ActiveRecord::Base
  self.abstract_class = true
end
Acta.set_events_record_parent!(TenantRecord)
# then call connects_to on TenantRecord — Acta::Record rides along

Acta::Record inherits from EventsRecord so any routing applied to EventsRecord (or to a re-parented ancestor) automatically applies.

Direct Known Subclasses

Record