Un systeme de support qui fonctionne selon les conventions Rails
Modeles ActiveRecord, generateurs, montage d'engine et les patterns Ruby familiers que votre equipe connait deja. Escalated est un engine Rails qui se distribue comme une gem.
$ bundle add escalatedPourquoi Escalated
Pourquoi Escalated pour Rails
Modeles ActiveRecord
Tickets, reponses, tags et activites sont des modeles ActiveRecord. Utilisez les scopes, associations et validations comme n'importe quel modele dans votre application.
Generateurs Rails
Generez des migrations, installez des fichiers de configuration et creez des vues avec les commandes familieres `rails generate`. Pas de configuration manuelle requise.
Architecture engine
Se monte comme un engine Rails dans votre `config/routes.rb`. Isole les routes, controleurs et vues d'Escalated tout en partageant votre stack d'authentification.
Pour commencer
Comment ca marche
Installez la gem
bundle add escalatedExecutez le generateur
rails generate escalated:install && rails db:migrateMontez l'engine
Ajoutez `mount Escalated::Engine => '/support'` a vos routes et c'est pret.
Fonctionnalites
Concu pour l'ecosysteme Rails
Associations ActiveRecord
Les tickets appartiennent aux utilisateurs, ont de nombreuses reponses et se connectent via des associations polymorphiques. Interrogez-les avec Arel ou des scopes.
Integration ActiveJob
Les notifications email et les envois de webhooks s'executent sur ActiveJob. Utilisez Sidekiq, Resque ou n'importe quel backend que votre application utilise deja.
Support Pundit et CanCanCan
L'autorisation fonctionne avec les bibliotheques d'autorisation standard de Ruby. Controlez l'acces aux tickets, reponses et fonctions d'administration.
Callbacks ActiveSupport
Chaque action de ticket declenche des callbacks. Accrochez-vous a after_create, after_update et des evenements de cycle de vie personnalises pour construire des flux de travail.
Middleware Rack
Appliquez votre middleware Rack existant aux routes Escalated. Authentification, limitation de debit et portee des tenants fonctionnent naturellement.
Factories FactoryBot
Livre avec des factories FactoryBot pour les tickets, reponses et utilisateurs. Ecrivez des tests RSpec ou Minitest avec des patterns familiers.
Voir en action
Quelques lignes de Ruby pour ajouter un systeme de support complet a votre application.
# 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 )
Pret a ajouter des tickets de support a votre application Rails ?
Escalated est open source, auto-heberge et concu pour ressembler a une partie native de votre application Rails.