engine.rb 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. module Blazer
  2. class Engine < ::Rails::Engine
  3. isolate_namespace Blazer
  4. initializer "blazer" do |app|
  5. # use a proc instead of a string
  6. app.config.assets.precompile << proc { |path| path =~ /\Ablazer\/application\.(js|css)\z/ }
  7. app.config.assets.precompile << proc { |path| path =~ /\Ablazer\/.+\.(eot|svg|ttf|woff)\z/ }
  8. Blazer.time_zone ||= Blazer.settings["time_zone"] || Time.zone
  9. Blazer.audit = Blazer.settings.key?("audit") ? Blazer.settings["audit"] : true
  10. Blazer.user_name = Blazer.settings["user_name"] if Blazer.settings["user_name"]
  11. Blazer.from_email = Blazer.settings["from_email"] if Blazer.settings["from_email"]
  12. Blazer.before_action = Blazer.settings["before_action"] if Blazer.settings["before_action"]
  13. Blazer.user_class ||= Blazer.settings.key?("user_class") ? Blazer.settings["user_class"] : (User rescue nil)
  14. Blazer.user_method = Blazer.settings["user_method"]
  15. if Blazer.user_class
  16. Blazer.user_method ||= "current_#{Blazer.user_class.to_s.downcase.singularize}"
  17. end
  18. Blazer.check_schedules = Blazer.settings["check_schedules"] if Blazer.settings.key?("check_schedules")
  19. if Blazer.user_class
  20. options = Blazer::BELONGS_TO_OPTIONAL.merge(class_name: Blazer.user_class.to_s)
  21. Blazer::Query.belongs_to :creator, options
  22. Blazer::Dashboard.belongs_to :creator, options
  23. Blazer::Check.belongs_to :creator, options
  24. end
  25. Blazer.cache ||= Rails.cache
  26. Blazer.anomaly_checks = Blazer.settings["anomaly_checks"] || false
  27. Blazer.async = Blazer.settings["async"] || false
  28. if Blazer.async
  29. require "blazer/run_statement_job"
  30. end
  31. Blazer.images = Blazer.settings["images"] || false
  32. end
  33. end
  34. end