timber 2.6.1 → 2.6.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 695d1eb93a0e891ecc1a3eb47ee4888d0d30fdbc
4
- data.tar.gz: d1075432948895089dec419679a8fb12194a7631
3
+ metadata.gz: fb990174a93469450d73ae20ffd997d61ca0f01e
4
+ data.tar.gz: 0f7ada34254928c3b196b5e33ab5e7b11dbc3982
5
5
  SHA512:
6
- metadata.gz: 6318864253dec537d4e604161e5877873407744d57d738519fc24091a72126dbe3429cf4be85d106f09f28ab41d4513218407094d27aa296575429e22b30f8b9
7
- data.tar.gz: 90cb2e402a913de26c656bb9b5bef4f49ebeff58e3b06c56b9c335888dd07f434d63f6da473cb993da1f9e537ccead50fabf36877bd7cd6652d98d105fa6a38d
6
+ metadata.gz: 859c860cb28a5e11d6901ca8648e8e3467b43ac21131e4c33f5601883c8543427a21709f4f19827728ed0d0cddfe5ddfb176851109d69e5c4d8b3eb5ee11d701
7
+ data.tar.gz: 10750c2cdd80151a56dee093f0c63e8180d4875235092e795a69ea1d459108e7f02f246251492267d1bacaf32ad1e3b36dc98e0db9dd4b696c2680b7518b7270
@@ -28,22 +28,26 @@ script:
28
28
  matrix:
29
29
  fast_finish: true
30
30
  exclude:
31
- - rvm: "1.9.3"
31
+ - rvm: 1.9.3
32
+ - rvm: 2.2.6
33
+ gemfile: gemfiles/rails-edge.gemfile
34
+ - rvm: 2.3.3
35
+ gemfile: gemfiles/rails-edge.gemfile
32
36
  include:
33
- - rvm: "1.9.3"
34
- gemfile: "gemfiles/rails-3.0.gemfile"
35
- - rvm: "1.9.3"
36
- gemfile: "gemfiles/rails-3.1.gemfile"
37
- - rvm: "1.9.3"
38
- gemfile: "gemfiles/rails-3.2.gemfile"
37
+ - rvm: 1.9.3
38
+ gemfile: gemfiles/rails-3.0.gemfile
39
+ - rvm: 1.9.3
40
+ gemfile: gemfiles/rails-3.1.gemfile
41
+ - rvm: 1.9.3
42
+ gemfile: gemfiles/rails-3.2.gemfile
39
43
  allow_failures:
40
44
  - rvm: 1.9.3 # bundler wont install the gems
41
45
  - rvm: 2.4.2
42
46
  gemfile: gemfiles/rails-4.0.gemfile
43
47
  - rvm: 2.4.2
44
48
  gemfile: gemfiles/rails-4.1.gemfile
45
- - rvm: "jruby-1.7.26"
46
- - rvm: "jruby-9.1.9.0"
49
+ - rvm: jruby-1.7.26
50
+ - rvm: jruby-9.1.9.0
47
51
  notifications:
48
52
  email: false
49
53
  slack:
@@ -7,6 +7,13 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [2.6.2] - 2018-10-17
11
+
12
+ ### Fixed
13
+
14
+ - Fixes an issue where logging without specifying data would raise an error
15
+ - Fix nested hash in parameters not showing up in logs
16
+
10
17
  ## [2.6.1] - 2017-11-28
11
18
 
12
19
  ### Fixed
@@ -57,6 +57,13 @@ module Timber
57
57
  # # ... anything logged here will include the context ...
58
58
  # end
59
59
  #
60
+ # @note Any custom context needs to have a single root key to be valid. i.e. instead of:
61
+ # Timber::CurrentContext.with(job_id: "123", job_name: "Refresh User Account")
62
+ #
63
+ # do
64
+ #
65
+ # Timber::CurrentContext.with(job: {job_id: "123", job_name: "Refresh User Account"})
66
+ #
60
67
  # @example Adding multiple contexts
61
68
  # Timber::CurrentContext.with(context1, context2) { ... }
62
69
  def with(*objects)
@@ -27,7 +27,7 @@ module Timber
27
27
  @type = normalizer.fetch!(:type, :symbol)
28
28
  @message = normalizer.fetch!(:message, :string)
29
29
 
30
- data = normalizer.fetch!(:data, :hash)
30
+ data = normalizer.fetch(:data, :hash, default: {})
31
31
 
32
32
  if !data.nil? && data[:time_ms].is_a?(Time)
33
33
  data[:time_ms] = Timer.duration_ms(data[:time_ms])
@@ -50,4 +50,4 @@ module Timber
50
50
  end
51
51
  end
52
52
  end
53
- end
53
+ end
@@ -23,7 +23,7 @@ module Timber
23
23
  v = @attributes[key]
24
24
 
25
25
  if blank?(v)
26
- nil
26
+ options[:default] || nil
27
27
  else
28
28
  case type
29
29
  when :array
@@ -83,8 +83,8 @@ module Timber
83
83
  # We use is_a? because it accounts for inheritance.
84
84
  def is_a_primitive_type?(v)
85
85
  v.is_a?(Array) || v.is_a?(Integer) || v.is_a?(Float) || v.is_a?(TrueClass) ||
86
- v.is_a?(FalseClass) || v.is_a?(String) || v.is_a?(Time)
86
+ v.is_a?(FalseClass) || v.is_a?(String) || v.is_a?(Time) || v.is_a?(::Hash)
87
87
  end
88
88
  end
89
89
  end
90
- end
90
+ end
@@ -1,3 +1,3 @@
1
1
  module Timber
2
- VERSION = "2.6.1"
2
+ VERSION = "2.6.2"
3
3
  end
@@ -19,4 +19,18 @@ describe Timber::Events::Custom, :rails_23 => true do
19
19
  expect(data[:time_ms]).to be > 0.0
20
20
  end
21
21
  end
22
- end
22
+
23
+ describe "#new" do
24
+ it "does not require data key" do
25
+ custom_event = described_class.new(:type => "my type", :message => "hello")
26
+ end
27
+ end
28
+
29
+ describe "#as_json" do
30
+ it "should render an empty data hash" do
31
+ custom_event = described_class.new(:type => "my type", :message => "hello")
32
+ hash = custom_event.as_json()
33
+ expect(hash).to eq({:custom => {:"my type" => {}}})
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,30 @@
1
+ require 'spec_helper'
2
+
3
+ describe Timber::Util::Hash, :rails_23 => true do
4
+ describe "jsonify" do
5
+ it "should return the original for simple 1 level hash" do
6
+ original = { a: "a", b: 1, c: 123.11 }
7
+ v = jsonify(original)
8
+ expect(v).to eq(original)
9
+ end
10
+
11
+ it "should return the original when it's a multilevel hash but with supported values" do
12
+ original = { a: "a", nested: { b: 1 } }
13
+ v = jsonify(original)
14
+ expect(v).to eq(original)
15
+ end
16
+
17
+ it "cuts out ASCII strings longer than 1000 characters from the hash" do
18
+ file1 = ("a" * 1005).encode("ASCII-8BIT")
19
+ file2 = ("x" * 1010).encode("ASCII-8BIT")
20
+ original = { path: "abc", file: file1, nested: { path: "def", file: file2 } }
21
+ v = jsonify(original)
22
+ expect(v).to eq({ path: "abc", nested: { path: "def" } })
23
+ end
24
+
25
+ def jsonify(h)
26
+ Timber::Util::Hash.jsonify(h)
27
+ end
28
+ end
29
+
30
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: timber
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.6.1
4
+ version: 2.6.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Timber Technologies, Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-11-28 00:00:00.000000000 Z
11
+ date: 2018-10-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: msgpack
@@ -293,6 +293,7 @@ files:
293
293
  - spec/timber/log_entry_spec.rb
294
294
  - spec/timber/logger_spec.rb
295
295
  - spec/timber/util/attribute_normalizer_spec.rb
296
+ - spec/timber/util/hash_spec.rb
296
297
  - spec/timber/util/request_spec.rb
297
298
  - timber.gemspec
298
299
  homepage: https://github.com/timberio/timber-ruby
@@ -364,4 +365,5 @@ test_files:
364
365
  - spec/timber/log_entry_spec.rb
365
366
  - spec/timber/logger_spec.rb
366
367
  - spec/timber/util/attribute_normalizer_spec.rb
368
+ - spec/timber/util/hash_spec.rb
367
369
  - spec/timber/util/request_spec.rb