logster 0.1.3 → 0.1.4

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: d087f190e0b8ea9d96fb43ade1d4f9b074622e96
4
- data.tar.gz: 0d244873038cb9ae045e8254523f07a3bdade1d3
3
+ metadata.gz: 5d142d05e56687317b126da8d5c270cac6b6fbad
4
+ data.tar.gz: e622c3a2464971d04001f186431eca6f11a62573
5
5
  SHA512:
6
- metadata.gz: 8bbf7687d1b79033a4cf79504244340c6c566af2e7689cb437def65fdff9cafdedaea7a46d84aa6c10dbd087a898db764746f5e33ccfc052ede2051ec4af060a
7
- data.tar.gz: 32ebb0388d1079019d83176e3f3ccd72139dc9ba45ff8cc769db95f089ec804ac1c8d12235f0775f15bc3f98b3a58e8ff4bb25f7d7a5e0908af7020459d4724a
6
+ metadata.gz: d06cc3bd37e67a26e3d39386c4a6f408c8f34c298559e03d6ede9f27595ff1fe6fdeb0ec1493471d97e58e2b136a5153ddb9f30cbf0a4fc0c8bae0d9bd499722
7
+ data.tar.gz: c59388ac7cc26a6ad02cdde54c5d370f0758d67b1faf2c1dc728f81b7ef4537aea91fcc1ad81df2485231abf285a626c034f7fa9f4f3caba1f0f54530e3ec4b7
data/README.md CHANGED
@@ -82,3 +82,5 @@ Logster UI is built using [Ember.js](http://emberjs.com/)
82
82
  - Render hashes provided via Logster.add_to_env
83
83
  - 2014-08-05: Version 0.1.3
84
84
  - Automatically include ignore filter
85
+ - 2014-08-08: Version 0.1.4
86
+ - Fix crash in ignore filter
@@ -29,17 +29,21 @@ module Logster
29
29
  private
30
30
 
31
31
  def compare(message, pattern)
32
+ return false unless message && pattern
33
+
32
34
  case pattern
33
35
  when Regexp
34
- message =~ pattern
36
+ message.to_s =~ pattern
35
37
  when String
36
- message.downcase =~ Regexp.new(pattern.downcase, Regexp::IGNORECASE)
38
+ message.to_s.downcase =~ Regexp.new(pattern.downcase, Regexp::IGNORECASE)
37
39
  when Hash
38
- compare_hash(message, pattern)
39
- when NilClass
40
- true
40
+ if Hash === message
41
+ compare_hash(message, pattern)
42
+ else
43
+ false
44
+ end
41
45
  else
42
- true
46
+ false
43
47
  end
44
48
  end
45
49
 
@@ -54,7 +58,7 @@ module Logster
54
58
  def get_indifferent(hash, key)
55
59
  return hash[key] if hash[key]
56
60
  return hash[key.to_s] if hash[key.to_s]
57
- return hash[key.to_sym] if hash[key.to_sym]
61
+ # no key.to_sym please, memory leak in Ruby < 2.2
58
62
  nil
59
63
  end
60
64
  end
@@ -1,3 +1,3 @@
1
1
  module Logster
2
- VERSION = "0.1.3"
2
+ VERSION = "0.1.4"
3
3
  end
@@ -57,12 +57,13 @@ class TestBaseStore < Minitest::Test
57
57
  ]
58
58
  @store.report(Logger::WARN, "test", "Foobar") #
59
59
  @store.report(Logger::WARN, "test", "Foobar", { env: { username: 'CausingErrors' }})
60
+ @store.report(Logger::WARN, "test", "Foobar", env: nil)
60
61
  @store.report(Logger::WARN, "test", "Something Else", { env: { username: 'CausingErrors' }})
61
62
  @store.report(Logger::WARN, "test", "Something Else", { env: { 'username' => 'CausingErrors' }})
62
63
  @store.report(Logger::WARN, "test", "Something Else", { env: { username: 'GoodPerson' }}) #
63
64
  @store.report(Logger::WARN, "test", "Can't verify CSRF token authenticity") #
64
65
 
65
- assert_equal(3, @store.count)
66
+ assert_equal(4, @store.count)
66
67
  end
67
68
 
68
69
  def test_ignore_pattern_real
@@ -0,0 +1,41 @@
1
+ require_relative '../test_helper'
2
+ require 'logster/ignore_pattern'
3
+
4
+ class TestIgnorePattern < Minitest::Test
5
+
6
+ def test_string_message_pattern
7
+ msg = Logster::Message.new(Logger::WARN, "test", "my error")
8
+ msg_frog = Logster::Message.new(Logger::WARN, "test", "a frog")
9
+ msg_nil = Logster::Message.new(Logger::WARN, "test", nil)
10
+
11
+ pattern = Logster::IgnorePattern.new("ERROR")
12
+
13
+ assert pattern.matches? msg
14
+ assert !pattern.matches?(msg_frog)
15
+ assert !pattern.matches?(msg_nil)
16
+ end
17
+
18
+ def test_env_pattern
19
+ msg = Logster::Message.new(Logger::WARN, "test", "my error")
20
+ msg.env = {"frogs" => "are big"}
21
+
22
+ pattern = Logster::IgnorePattern.new(nil, {frogs: "big"})
23
+
24
+ assert pattern.matches? msg
25
+
26
+ msg.env = {legs: nil}
27
+ assert !(pattern.matches? msg)
28
+
29
+ msg.env = {legs: 3}
30
+ assert !(pattern.matches? msg)
31
+
32
+ msg.env = {frogs: "small"}
33
+ assert !pattern.matches?(msg)
34
+
35
+ pattern = Logster::IgnorePattern.new(nil, "small")
36
+ assert pattern.matches? msg
37
+
38
+ msg.env = {frogs: "big"}
39
+ assert !(pattern.matches? msg)
40
+ end
41
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: logster
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - UI for viewing logs in Rack
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-08-05 00:00:00.000000000 Z
11
+ date: 2014-08-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -143,6 +143,7 @@ files:
143
143
  - test/logster/middleware/test_reporter.rb
144
144
  - test/logster/middleware/test_viewer.rb
145
145
  - test/logster/test_base_store.rb
146
+ - test/logster/test_ignore_pattern.rb
146
147
  - test/logster/test_logger.rb
147
148
  - test/logster/test_redis_store.rb
148
149
  - test/test_helper.rb
@@ -176,6 +177,7 @@ test_files:
176
177
  - test/logster/middleware/test_reporter.rb
177
178
  - test/logster/middleware/test_viewer.rb
178
179
  - test/logster/test_base_store.rb
180
+ - test/logster/test_ignore_pattern.rb
179
181
  - test/logster/test_logger.rb
180
182
  - test/logster/test_redis_store.rb
181
183
  - test/test_helper.rb