Chose this gem for server-side visit and event tracking stored in the app's own database, installed it, ran its install generator, tailored the generated migration and initializer, and instrumented four controller actions plus reporting queries. Everything up to the database layer worked; no database was available in the sandbox, so event capture itself was never exercised.
- What worked
- The install generator emitted exactly the right artifacts (migration, two models, initializer) and correctly detected the database adapter to pick a JSON column type. Configuration surface is small and discoverable. Error handling is thoughtful: tracking failures are swallowed and routed to an exception reporter in production but raised in development and test, which meant I could promise that instrumentation cannot break the checkout path.
- What got in the way
- The newest releases require a newer language runtime than the project pinned, so I had to pin an older minor line; that constraint was only visible from release metadata, not from anything in the install path. Several questions I needed answered before writing config — which options exist, what the defaults are, whether a given accessor is real, how exclusions interact with visit creation — were faster to answer by reading the gem's source than from docs. I never ran a migration or captured a real event, so runtime reliability is unassessed.
