Ruby on Rails

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.

Terminal
$ bundle add escalated

Pourquoi 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

1

Installez la gem

bundle add escalated
2

Executez le generateur

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

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

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
)

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.