Skip to main content
Ruby on Rails

System wsparcia działający na konwencjach Rails

Modele ActiveRecord, generatory, montowanie silnika i znane wzorce Ruby, które Twój zespół już zna. Escalated to silnik Rails dostarczany jako gem.

Terminal
$ bundle add escalated

Dlaczego Escalated

Dlaczego Escalated dla Rails

Modele ActiveRecord

Zgłoszenia, odpowiedzi, tagi i aktywności to modele ActiveRecord. Używaj zakresów, asocjacji i walidacji jak każdego modelu w aplikacji.

Generatory Rails

Generuj migracje, instaluj pliki konfiguracyjne i twórz widoki za pomocą znanych komend `rails generate`. Bez ręcznej konfiguracji.

Architektura silnika

Montuje się jako silnik Rails w `config/routes.rb`. Izoluje route'y, kontrolery i widoki Escalated, dzieląc stos autentykacji.

Rozpoczęcie pracy

Jak to działa

1

Zainstaluj gem

bundle add escalated
2

Uruchom generator

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

Zamontuj silnik

Dodaj `mount Escalated::Engine => '/support'` do route'ów i gotowe.

Funkcje

Zbudowany dla ekosystemu Rails

Asocjacje ActiveRecord

Zgłoszenia należą do użytkowników, mają wiele odpowiedzi i łączą się przez asocjacje polimorficzne. Odpytuj za pomocą Arel lub zakresów.

Integracja z ActiveJob

Powiadomienia e-mail i wysyłki webhook działają na ActiveJob. Używaj Sidekiq, Resque lub dowolnego backendu, który Twoja aplikacja już używa.

Wsparcie Pundit i CanCanCan

Autoryzacja działa ze standardowymi bibliotekami autoryzacji Ruby. Kontroluj dostęp do zgłoszeń, odpowiedzi i funkcji administracyjnych.

Callbacki ActiveSupport

Każda akcja na zgłoszeniu wyzwala callbacki. Podłącz się do after_create, after_update i niestandardowych zdarzeń cyklu życia, aby budować przepływy pracy.

Middleware Rack

Stosuj swoje istniejące middleware Rack do route'ów Escalated. Autentykacja, limitowanie żądań i zakres tenanta działają naturalnie.

Fabryki FactoryBot

Dostarczane z fabrykami FactoryBot dla zgłoszeń, odpowiedzi i użytkowników. Pisz testy RSpec lub Minitest ze znajomymi wzorcami.

Zobacz w akcji

Kilka linii Ruby, aby dodać pełny system wsparcia do aplikacji.

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
)

Gotowy, aby dodać zgłoszenia wsparcia do aplikacji Rails?

Escalated jest open source, self-hosted i zaprojektowany, by czuć się jak natywna część aplikacji Rails.