Un sistema di supporto che funziona sulle convenzioni di Rails
Modelli ActiveRecord, generatori, montaggio engine e i pattern Ruby familiari che il tuo team conosce gia. Escalated e un engine Rails distribuito come gem.
$ bundle add escalatedPerche Escalated
Perche Escalated per Rails
Modelli ActiveRecord
Ticket, risposte, tag e attivita sono modelli ActiveRecord. Usa scope, associazioni e validazioni come qualsiasi modello nella tua app.
Generatori Rails
Genera migration, installa file di configurazione e crea scaffold di viste con i comandi familiari `rails generate`. Nessuna configurazione manuale richiesta.
Architettura engine
Si monta come engine Rails nel tuo `config/routes.rb`. Isola route, controller e viste di Escalated condividendo il tuo stack di autenticazione.
Per iniziare
Come funziona
Installa la gem
bundle add escalatedEsegui il generatore
rails generate escalated:install && rails db:migrateMonta l'engine
Aggiungi `mount Escalated::Engine => '/support'` alle tue route e sei online.
Funzionalita
Costruito per l'ecosistema Rails
Associazioni ActiveRecord
I ticket appartengono agli utenti, hanno molte risposte e si connettono tramite associazioni polimorfiche. Interrogali con Arel o scope.
Integrazione ActiveJob
Notifiche email e invio webhook funzionano su ActiveJob. Usa Sidekiq, Resque o qualsiasi backend che la tua app utilizza gia.
Supporto Pundit e CanCanCan
L'autorizzazione funziona con le librerie standard di autorizzazione Ruby. Controlla l'accesso a ticket, risposte e funzioni di amministrazione.
Callback ActiveSupport
Ogni azione sui ticket attiva callback. Agganciati a after_create, after_update e eventi di ciclo di vita personalizzati per costruire workflow.
Middleware Rack
Applica il tuo middleware Rack esistente alle route di Escalated. Autenticazione, rate limiting e tenant scoping funzionano naturalmente.
Factory FactoryBot
Viene fornito con factory FactoryBot per ticket, risposte e utenti. Scrivi test RSpec o Minitest con pattern familiari.
Guardalo in azione
Poche righe di Ruby per aggiungere un sistema di supporto completo alla tua applicazione.
# 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 )
Pronto ad aggiungere ticket di supporto alla tua app Rails?
Escalated e open source, self-hosted e progettato per sembrare una parte nativa della tua applicazione Rails.