Ruby on Rails

Rails kurallarıyla çalışan bir destek sistemi

ActiveRecord modelleri, generator'lar, engine montajı ve ekibinizin zaten bildiği tanıdık Ruby kalıpları. Escalated, gem olarak gönderilen bir Rails engine'idir.

Terminal
$ bundle add escalated

Neden Escalated

Rails İçin Neden Escalated

ActiveRecord Modeller

Biletler, yanıtlar, etiketler ve aktiviteler ActiveRecord modelleridir. Uygulamanızdaki herhangi bir model gibi kapsamları, ilişkilendirmeleri ve doğrulamaları kullanın.

Rails Generator'lar

Tanıdık `rails generate` komutlarıyla migration'lar oluşturun, yapılandırma dosyaları kurun ve görünümler oluşturun. Manuel kurulum gerekmez.

Engine Mimarisi

`config/routes.rb`'nize Rails engine olarak monte edilir. Kimlik doğrulama yığınınızı paylaşırken Escalated route'larını, controller'larını ve görünümlerini izole eder.

Başlarken

Nasıl Çalışır

1

Gem'i Kurun

bundle add escalated
2

Generator'ı Çalıştırın

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

Engine'i Bağlayın

Route'larınıza `mount Escalated::Engine => '/support'` ekleyin ve canlısınız.

Özellikler

Rails ekosistemi için yapıldı

ActiveRecord İlişkilendirmeler

Biletler kullanıcılara aittir, birçok yanıtı vardır ve polimorfik ilişkilendirmelerle bağlanır. Arel veya kapsamlarla sorgulayın.

ActiveJob Entegrasyonu

E-posta bildirimleri ve webhook gönderimleri ActiveJob üzerinde çalışır. Uygulamanızın zaten kullandığı Sidekiq, Resque veya herhangi bir arka ucu kullanın.

Pundit & CanCanCan Desteği

Yetkilendirme standart Ruby yetkilendirme kütüphaneleriyle çalışır. Biletlere, yanıtlara ve yönetim işlevlerine erişimi kontrol edin.

ActiveSupport Callback'ler

Her bilet eylemi callback'leri tetikler. İş akışları oluşturmak için after_create, after_update ve özel yaşam döngüsü olaylarına bağlanın.

Rack Middleware

Mevcut Rack middleware'lerinizi Escalated route'larına uygulayın. Kimlik doğrulama, hız sınırlama ve kiracı kapsamı doğal olarak çalışır.

FactoryBot Fabrikalar

Biletler, yanıtlar ve kullanıcılar için FactoryBot fabrikalarıyla gelir. Tanıdık kalıplarla RSpec veya Minitest testleri yazın.

Uygulamada Görün

Uygulamanıza tam bir destek sistemi eklemek için birkaç satır Ruby.

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
)

Rails uygulamanıza destek biletleri eklemeye hazır mısınız?

Escalated açık kaynak, kendi sunucunuzda ve Rails uygulamanızın yerel bir parçası gibi hissetmek için tasarlanmıştır.