Ein Support-System, das auf Rails-Konventionen basiert
ActiveRecord-Modelle, Generatoren, Engine-Mounting und die vertrauten Ruby-Patterns, die Ihr Team bereits kennt. Escalated ist eine Rails-Engine, die als Gem ausgeliefert wird.
$ bundle add escalatedWarum Escalated
Warum Escalated fur Rails
ActiveRecord-Modelle
Tickets, Antworten, Tags und Aktivitaten sind ActiveRecord-Modelle. Verwenden Sie Scopes, Assoziationen und Validierungen wie jedes Modell in Ihrer App.
Rails-Generatoren
Generieren Sie Migrationen, installieren Sie Konfigurationsdateien und erstellen Sie Views mit vertrauten `rails generate`-Befehlen. Keine manuelle Einrichtung erforderlich.
Engine-Architektur
Wird als Rails-Engine in Ihrer `config/routes.rb` eingebunden. Isoliert Escalated-Routen, Controller und Views, wahrend Ihr Authentifizierungs-Stack geteilt wird.
Erste Schritte
So funktioniert es
Gem installieren
bundle add escalatedGenerator ausfuhren
rails generate escalated:install && rails db:migrateEngine einbinden
Fugen Sie `mount Escalated::Engine => '/support'` zu Ihren Routen hinzu und Sie sind live.
Funktionen
Fur das Rails-Ecosystem gebaut
ActiveRecord-Assoziationen
Tickets gehoren zu Benutzern, haben viele Antworten und verbinden sich uber polymorphe Assoziationen. Abfragen mit Arel oder Scopes.
ActiveJob-Integration
E-Mail-Benachrichtigungen und Webhook-Versand laufen auf ActiveJob. Verwenden Sie Sidekiq, Resque oder ein anderes Backend, das Ihre App bereits nutzt.
Pundit- & CanCanCan-Support
Autorisierung funktioniert mit Standard-Ruby-Autorisierungsbibliotheken. Kontrollieren Sie den Zugriff auf Tickets, Antworten und Admin-Funktionen.
ActiveSupport-Callbacks
Jede Ticket-Aktion lest Callbacks aus. Haken Sie sich in after_create, after_update und benutzerdefinierte Lifecycle-Events ein, um Workflows zu erstellen.
Rack-Middleware
Wenden Sie Ihre bestehende Rack-Middleware auf Escalated-Routen an. Authentifizierung, Rate-Limiting und Tenant-Scoping funktionieren naturlich.
FactoryBot-Factories
Wird mit FactoryBot-Factories fur Tickets, Antworten und Benutzer ausgeliefert. Schreiben Sie RSpec- oder Minitest-Tests mit vertrauten Patterns.
In Aktion sehen
Wenige Zeilen Ruby, um ein vollstandiges Support-System zu Ihrer Anwendung hinzuzufugen.
# 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 )
Bereit, Support-Tickets zu Ihrer Rails-App hinzuzufugen?
Escalated ist Open Source, self-hosted und so konzipiert, dass es sich wie ein nativer Teil Ihrer Rails-Anwendung anfuhlt.