Skip to content

Commit

Permalink
Merge branch 'TECH-4/Configuration-DSL'
Browse files Browse the repository at this point in the history
  • Loading branch information
mhenrixon committed Aug 15, 2016
2 parents 25c1681 + ee35801 commit 6043185
Show file tree
Hide file tree
Showing 7 changed files with 35 additions and 8 deletions.
1 change: 1 addition & 0 deletions lib/sapience.rb
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@

require "sapience/configuration"
require "sapience/ansi_colors"
require "sapience/core_ext/hash"
require "sapience/core_ext/thread"
require "sapience/base"
require "sapience/log"
Expand Down
25 changes: 25 additions & 0 deletions lib/sapience/core_ext/hash.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
class Hash
# Returns a Hash with all keys symbolized
def deep_symbolize_keys!
deep_transform_keys! { |key| key.to_sym rescue key } # rubocop:disable RescueModifier
end

def deep_transform_keys!(&block)
_deep_transform_keys_in_object!(self, &block)
end

def _deep_transform_keys_in_object!(object, &block)
case object
when Hash
object.keys.each do |key|
value = object.delete(key)
object[yield(key)] = _deep_transform_keys_in_object!(value, &block)
end
object
when Array
object.map! { |e| _deep_transform_keys_in_object!(e, &block)}
else
object
end
end
end
2 changes: 1 addition & 1 deletion lib/sapience/logger.rb
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@ def self.queue
# By default logs to STDERR
def self.logger
@@logger ||= begin
l = Sapience::Appender::File.new(STDERR, :warn)
l = Sapience::Appender::File.new(io: STDERR, level: :warn)
l.name = name
l
end
Expand Down
3 changes: 2 additions & 1 deletion lib/sapience/sapience.rb
Original file line number Diff line number Diff line change
Expand Up @@ -334,10 +334,11 @@ def self.constantize_symbol(symbol, namespace = "Sapience::Appender")
klass = "#{namespace}::#{camelize(symbol.to_s)}"
constantize(klass)
rescue NameError
raise(ArgumentError, "Could not convert symbol: #{symbol} to a class in: #{namespace}. Looking for: #{class_name}")
raise(ArgumentError, "Could not convert symbol: #{symbol} to a class in: #{namespace}. Looking for: #{klass}")
end

def self.constantize(class_name)
return class_name unless class_name.is_a?(String)
if RUBY_VERSION.to_i >= 2
Object.const_get(class_name)
else
Expand Down
2 changes: 1 addition & 1 deletion spec/lib/sapience/appender/file_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@

describe "custom formatter" do
before do
@appender = Sapience::Appender::File.new(@io) do |log|
@appender = Sapience::Appender::File.new(io: @io) do |log|
if log.tags and (log.tags.size > 0)
tags = (log.tags.collect { |tag| "[#{tag}]" }.join(" ") + " ")
end
Expand Down
8 changes: 4 additions & 4 deletions spec/lib/sapience/appender/sentry_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
error_message: "AppenderRavenTest log message",
context: {
pid: a_kind_of(Integer),
thread: nil,
thread: a_kind_of(String),
time: a_kind_of(Time),
level: level,
level_index: a_kind_of(Integer),
Expand All @@ -42,7 +42,7 @@
name: "Sapience::Appender::Sentry",
message: "AppenderRavenTest log message",
pid: a_kind_of(Integer),
thread: nil,
thread: a_kind_of(String),
time: a_kind_of(Time),
level: level,
level_index: a_kind_of(Integer),
Expand All @@ -66,7 +66,7 @@
error_message: "AppenderRavenTest log message",
context: {
pid: a_kind_of(Integer),
thread: nil,
thread: a_kind_of(String),
time: a_kind_of(Time),
level: level,
level_index: a_kind_of(Integer),
Expand All @@ -88,7 +88,7 @@
name: "Sapience::Appender::Sentry",
message: "AppenderRavenTest log message",
pid: a_kind_of(Integer),
thread: nil,
thread: a_kind_of(String),
time: a_kind_of(Time),
level: level,
level_index: a_kind_of(Integer),
Expand Down
2 changes: 1 addition & 1 deletion spec/lib/sapience/loggable_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ class Subclass < Base
before do
@time = Time.new
@io = StringIO.new
@appender = Sapience::Appender::File.new(@io)
@appender = Sapience::Appender::File.new(io: @io)
Sapience.config.default_level = :trace
@mock_logger = MockLogger.new
@appender = Sapience.add_appender(:wrapper, logger: (@mock_logger))
Expand Down

0 comments on commit 6043185

Please sign in to comment.