Преглед на файлове

User initializer variable for user class name

Paul Tyng преди 9 години
родител
ревизия
139057bec8
променени са 4 файла, в които са добавени 10 реда и са изтрити 2 реда
  1. 6 0
      README.md
  2. 1 1
      app/models/blazer/audit.rb
  3. 1 1
      app/models/blazer/query.rb
  4. 2 0
      lib/blazer.rb

+ 6 - 0
README.md

@@ -121,6 +121,12 @@ Turn off audits
 Blazer.audit = false
 ```
 
+Custom user class
+
+```ruby
+Blazer.user_class = 'MyNamespace::MyClass'
+```
+
 Customize user name
 
 ```ruby

+ 1 - 1
app/models/blazer/audit.rb

@@ -1,6 +1,6 @@
 module Blazer
   class Audit < ActiveRecord::Base
-    belongs_to :user
+    belongs_to :user, class_name: Blazer.user_class.to_s
     belongs_to :query
   end
 end

+ 1 - 1
app/models/blazer/query.rb

@@ -1,6 +1,6 @@
 module Blazer
   class Query < ActiveRecord::Base
-    belongs_to :creator, class_name: "User"
+    belongs_to :creator, class_name: Blazer.user_class.to_s
 
     validates :name, presence: true
     validates :statement, presence: true

+ 2 - 0
lib/blazer.rb

@@ -8,11 +8,13 @@ module Blazer
     attr_accessor :audit
     attr_reader :time_zone
     attr_accessor :user_name
+    attr_accessor :user_class
     attr_accessor :timeout
   end
   self.audit = true
   self.user_name = :name
   self.timeout = 15
+  self.user_class = 'User'
 
   def self.time_zone=(time_zone)
     @time_zone = time_zone.is_a?(ActiveSupport::TimeZone) ? time_zone : ActiveSupport::TimeZone[time_zone.to_s]