logster 0.1.3 → 0.1.4

Sign up to get free protection for your applications and to get access to all the features.
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