schema_plus_core

Provides an internal extension API to ActiveRecord, in the form of middleware-style callback stacks

6
26
Ruby

Gem Version
Build Status
Coverage Status

SchemaPlus::Core

SchemaPlus::Core creates an internal extension API to ActiveRecord. The idea is that:

  • SchemaPlus::Core does the monkey-patching so clients don’t have to know too much about the internal of ActiveRecord.

  • SchemaPlus::Core’s extension API is consistent across the various connection adapters, so clients don’t have to figure out how to extend each connection adapter independently.

  • SchemaPlus::Core’s extension API intends to remain reasonably stable even as ActiveRecord changes.

By itself, SchemaPlus::Core does not change any behavior or add any external features to ActiveRecord. It just makes the API available to clients.

SchemaPlus::Core is a client of schema_monkey, using modware to define middleware callback stacks.

Compatibility

SchemaPlus::Core is tested on:

  • ruby 2.5 with activerecord 5.2, using postgresql:9.6, mysql2 or sqlite3
  • ruby 2.5 with activerecord 6.0, using postgresql:9.6, mysql2 or sqlite3
  • ruby 2.5 with activerecord 6.1, using postgresql:9.6, mysql2 or sqlite3
  • ruby 2.7 with activerecord 5.2, using postgresql:9.6, mysql2 or sqlite3
  • ruby 2.7 with activerecord 6.0, using postgresql:9.6, mysql2 or sqlite3
  • ruby 2.7 with activerecord 6.1, using postgresql:9.6, mysql2 or sqlite3
  • ruby 2.7 with activerecord 7.0, using postgresql:9.6, mysql2 or sqlite3
  • ruby 3.0 with activerecord 6.0, using postgresql:9.6, mysql2 or sqlite3
  • ruby 3.0 with activerecord 6.1, using postgresql:9.6, mysql2 or sqlite3
  • ruby 3.0 with activerecord 7.0, using postgresql:9.6, mysql2 or sqlite3
  • ruby 3.1 with activerecord 6.0, using postgresql:9.6, mysql2 or sqlite3
  • ruby 3.1 with activerecord 6.1, using postgresql:9.6, mysql2 or sqlite3
  • ruby 3.1 with activerecord 7.0, using postgresql:9.6, mysql2 or sqlite3