Ruby on Rails

Un sistema de soporte que funciona con las convenciones de Rails

Modelos ActiveRecord, generadores, montaje de engine y los patrones Ruby familiares que tu equipo ya conoce. Escalated es un engine de Rails que se distribuye como una gema.

Terminal
$ bundle add escalated

Por qué Escalated

Por qué Escalated para Rails

Modelos ActiveRecord

Tickets, respuestas, etiquetas y actividades son modelos ActiveRecord. Usa scopes, asociaciones y validaciones como cualquier modelo en tu aplicación.

Generadores de Rails

Genera migraciones, instala archivos de configuración y crea scaffolding de vistas con comandos familiares de `rails generate`. Sin configuración manual requerida.

Arquitectura de engine

Se monta como un engine de Rails en tu `config/routes.rb`. Aísla las rutas, controladores y vistas de Escalated mientras comparte tu stack de autenticación.

Primeros pasos

Cómo funciona

1

Instala la gema

bundle add escalated
2

Ejecuta el generador

rails generate escalated:install && rails db:migrate
3

Monta el engine

Agrega `mount Escalated::Engine => '/support'` a tus rutas y ya está.

Características

Diseñado para el ecosistema Rails

Asociaciones ActiveRecord

Los tickets pertenecen a usuarios, tienen muchas respuestas y se conectan a través de asociaciones polimórficas. Consúltalos con Arel o scopes.

Integración con ActiveJob

Notificaciones por correo y envíos de webhooks se ejecutan en ActiveJob. Usa Sidekiq, Resque o cualquier backend que tu aplicación ya use.

Soporte para Pundit y CanCanCan

La autorización funciona con las bibliotecas estándar de autorización de Ruby. Controla el acceso a tickets, respuestas y funciones de administración.

Callbacks de ActiveSupport

Cada acción de ticket activa callbacks. Engánchate a after_create, after_update y eventos de ciclo de vida personalizados para construir flujos de trabajo.

Middleware Rack

Aplica tu middleware Rack existente a las rutas de Escalated. Autenticación, limitación de velocidad y alcance de tenants funcionan naturalmente.

Factories de FactoryBot

Incluye factories de FactoryBot para tickets, respuestas y usuarios. Escribe tests con RSpec o Minitest con patrones familiares.

Véalo en acción

Unas pocas líneas de Ruby para agregar un sistema completo de soporte a tu aplicación.

Ruby
# config/routes.rb
Rails.application.routes.draw do
  mount Escalated::Engine => '/support'
end

# app/models/user.rb
class User < ApplicationRecord
  include Escalated::HasTickets
end

# Anywhere in your application
ticket = user.tickets.create!(
  subject: 'Need help with billing',
  priority: :high
)

ticket.replies.create!(
  body: "We've updated your invoice.",
  user: agent
)

¿Listo para agregar tickets de soporte a tu aplicación Rails?

Escalated es código abierto, auto-alojado y diseñado para sentirse como una parte nativa de tu aplicación Rails.