summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorMatthew Rudy Jacobs <matthewrudyjacobs@gmail.com>2017-02-10 18:24:03 -0500
committerdblock <dblock@dblock.org>2017-02-10 18:26:31 -0500
commitc269a1cc98c69848bd490f5024d884775061df6f (patch)
treefe6d3df5cc4c2c987786ba264dca1756cb7169d3 /lib
parent74b3bd6ab6fb83d1d19876661eae5f68433d35b1 (diff)
downloadhashie-c269a1cc98c69848bd490f5024d884775061df6f.tar.gz
Fix #401: use a Railtie to set Hashie.logger on rails boot.
Diffstat (limited to 'lib')
-rw-r--r--lib/hashie.rb2
-rw-r--r--lib/hashie/logger.rb7
-rw-r--r--lib/hashie/railtie.rb10
3 files changed, 13 insertions, 6 deletions
diff --git a/lib/hashie.rb b/lib/hashie.rb
index c0f2caa..19b12bd 100644
--- a/lib/hashie.rb
+++ b/lib/hashie.rb
@@ -56,4 +56,6 @@ module Hashie
include Hashie::Extensions::StringifyKeys::ClassMethods
include Hashie::Extensions::SymbolizeKeys::ClassMethods
end
+
+ require 'hashie/railtie' if defined?(::Rails)
end
diff --git a/lib/hashie/logger.rb b/lib/hashie/logger.rb
index 4f8fe5a..065738f 100644
--- a/lib/hashie/logger.rb
+++ b/lib/hashie/logger.rb
@@ -5,12 +5,7 @@ module Hashie
#
# @return [Logger]
def self.logger
- @logger ||=
- if defined?(::Rails)
- Rails.logger
- else
- Logger.new(STDOUT)
- end
+ @logger ||= Logger.new(STDOUT)
end
# Sets the logger that Hashie uses for reporting errors.
diff --git a/lib/hashie/railtie.rb b/lib/hashie/railtie.rb
new file mode 100644
index 0000000..f69a13f
--- /dev/null
+++ b/lib/hashie/railtie.rb
@@ -0,0 +1,10 @@
+require 'rails/railtie'
+
+module Hashie
+ class Railtie < Rails::Railtie
+ # Set the Hashie.logger to use Rails.logger when used with rails.
+ initializer 'hashie.configure_logger', after: 'initialize_logger' do
+ Hashie.logger = Rails.logger
+ end
+ end
+end