Ruby on Rails

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.

Terminal
$ bundle add escalated

Warum 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

1

Gem installieren

bundle add escalated
2

Generator ausfuhren

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

Engine 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.

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
)

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.