Merge pull request #1006 from airblade/warn_when_pt_cannot_load
Print warning when PT cannot be loaded ..
This commit is contained in:
commit
9c037b510d
|
@ -16,7 +16,8 @@ recommendations of [keepachangelog.com](http://keepachangelog.com/).
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
|
|
||||||
- None
|
- [#1003](https://github.com/airblade/paper_trail/pull/1003) - Warn when PT
|
||||||
|
cannot be loaded because rails is not loaded yet.
|
||||||
|
|
||||||
## 8.0.0 (2017-10-04)
|
## 8.0.0 (2017-10-04)
|
||||||
|
|
||||||
|
|
|
@ -14,6 +14,12 @@ require "paper_trail/serializers/yaml"
|
||||||
# An ActiveRecord extension that tracks changes to your models, for auditing or
|
# An ActiveRecord extension that tracks changes to your models, for auditing or
|
||||||
# versioning.
|
# versioning.
|
||||||
module PaperTrail
|
module PaperTrail
|
||||||
|
E_RAILS_NOT_LOADED = <<-EOS.squish.freeze
|
||||||
|
PaperTrail has been loaded too early, before rails is loaded. This can
|
||||||
|
happen when another gem defines the ::Rails namespace, then PT is loaded,
|
||||||
|
all before rails is loaded. You may want to reorder your Gemfile, or defer
|
||||||
|
the loading of PT by using `require: false` and a manual require elsewhere.
|
||||||
|
EOS
|
||||||
E_TIMESTAMP_FIELD_CONFIG = <<-EOS.squish.freeze
|
E_TIMESTAMP_FIELD_CONFIG = <<-EOS.squish.freeze
|
||||||
PaperTrail.timestamp_field= has been removed, without replacement. It is no
|
PaperTrail.timestamp_field= has been removed, without replacement. It is no
|
||||||
longer configurable. The timestamp field in the versions table must now be
|
longer configurable. The timestamp field in the versions table must now be
|
||||||
|
@ -190,8 +196,14 @@ ActiveSupport.on_load(:active_record) do
|
||||||
end
|
end
|
||||||
|
|
||||||
# Require frameworks
|
# Require frameworks
|
||||||
if defined?(::Rails) && ActiveRecord::VERSION::STRING >= "3.2"
|
if defined?(::Rails)
|
||||||
require "paper_trail/frameworks/rails"
|
# Rails module is sometimes defined by gems like rails-html-sanitizer
|
||||||
|
# so we check for presence of Rails.application.
|
||||||
|
if defined?(::Rails.application)
|
||||||
|
require "paper_trail/frameworks/rails"
|
||||||
|
else
|
||||||
|
::Kernel.warn(::PaperTrail::E_RAILS_NOT_LOADED)
|
||||||
|
end
|
||||||
else
|
else
|
||||||
require "paper_trail/frameworks/active_record"
|
require "paper_trail/frameworks/active_record"
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in New Issue