Ruby on Rails

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.

Terminale
$ bundle add escalated

Perche 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

1

Installa la gem

bundle add escalated
2

Esegui il generatore

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

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

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
)

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.