scrolls 0.3.1 → 0.3.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: cba03f5638d03ddccf7fd077ba99b2f2c721b388
4
- data.tar.gz: 7117b4c5893d4f2078a722bad7deeebda0abf45c
3
+ metadata.gz: 99c754c2a68b431572505ef7952e6be9c75fcd75
4
+ data.tar.gz: 36c1c30b50e7782370bb52ae8dda662776e3788c
5
5
  SHA512:
6
- metadata.gz: 163aff47717815aaa7e5c45fa896b18b6c3a7a084be9dfd98829b86f22d35cb230b7695ccccabeaf0834fbd1c84fdebdeb3fc6f2bf534d0c5f474917c4429575
7
- data.tar.gz: 7ae04fc36a20cc209015fecc560b5308ae8a06cd94261bb8bc14417ef0ccb4174e08b9f3e7e45695faae057be978cbf60db4f0f8ef736ed0e42abbc05feef36d
6
+ metadata.gz: f2b0754716f62af7b741473ad61167c8f9517f5c71e6b5a2968a2e2dfa3cca5cdd399d855ba1e993c35fe423458cc7d883293ea6b67c0b0647b995fb1660710d
7
+ data.tar.gz: 5320c43a79599e2e0c48de9e2c465a12b43f61bbfb57552205a36e6a3959382735a31322d3b2b69e8682df3f81a4f1e8196ec1162697252f60210962ee9ed398
data/lib/scrolls/log.rb CHANGED
@@ -1,7 +1,6 @@
1
1
  require "scrolls/parser"
2
2
  require "scrolls/utils"
3
3
  require "scrolls/syslog"
4
- require "time"
5
4
 
6
5
  module Scrolls
7
6
 
@@ -48,6 +47,9 @@ module Scrolls
48
47
 
49
48
  def facility=(f)
50
49
  @facility = LOG_FACILITY_MAP[f] if f
50
+ if Scrolls::SyslogLogger.opened?
51
+ Scrolls::SyslogLogger.new(progname, facility)
52
+ end
51
53
  end
52
54
 
53
55
  def facility
@@ -57,7 +59,6 @@ module Scrolls
57
59
  def stream=(out=nil)
58
60
  @defined = out.nil? ? false : true
59
61
  if out == 'syslog'
60
- progname = File.basename($0)
61
62
  @stream = Scrolls::SyslogLogger.new(progname, facility)
62
63
  else
63
64
  @stream = sync_stream(out)
@@ -225,6 +226,10 @@ module Scrolls
225
226
  end
226
227
  end
227
228
 
229
+ def progname
230
+ File.basename($0)
231
+ end
232
+
228
233
  def default_log_facility
229
234
  LOG_FACILITY
230
235
  end
@@ -1,3 +1,5 @@
1
+ require 'time'
2
+
1
3
  module Scrolls
2
4
  module Parser
3
5
  extend self
@@ -13,7 +15,7 @@ module Scrolls
13
15
  elsif v.nil?
14
16
  "#{k}=nil"
15
17
  elsif v.is_a?(Time)
16
- "#{k}=#{v.strftime("%FT%H:%M:%S%z")}"
18
+ "#{k}=#{v.iso8601}"
17
19
  else
18
20
  v = v.to_s
19
21
  has_single_quote = v.index("'")
@@ -58,6 +60,11 @@ module Scrolls
58
60
  v = false
59
61
  elsif v == "true"
60
62
  v = true
63
+ else
64
+ begin
65
+ v = Time.iso8601(v)
66
+ rescue ArgumentError
67
+ end
61
68
  end
62
69
 
63
70
  vals[match[0]] = v
@@ -28,15 +28,19 @@ module Scrolls
28
28
  class SyslogLogger
29
29
  def initialize(ident = 'scrolls', facility = Syslog::LOG_USER)
30
30
  options = Syslog::LOG_PID|Syslog::LOG_CONS
31
- begin
32
- @syslog = Syslog.open(ident, options, facility)
33
- rescue RuntimeError
31
+ if Syslog.opened?
34
32
  @syslog = Syslog.reopen(ident, options, facility)
33
+ else
34
+ @syslog = Syslog.open(ident, options, facility)
35
35
  end
36
36
  end
37
37
 
38
38
  def puts(data)
39
39
  @syslog.log(Syslog::LOG_INFO, "%s", data)
40
40
  end
41
+
42
+ def self.opened?
43
+ Syslog.opened?
44
+ end
41
45
  end
42
46
  end
@@ -1,3 +1,3 @@
1
1
  module Scrolls
2
- VERSION = "0.3.1"
2
+ VERSION = "0.3.2"
3
3
  end
data/scrolls.gemspec CHANGED
@@ -7,7 +7,7 @@ Gem::Specification.new do |gem|
7
7
  gem.description = %q{Logging, easier, more consistent.}
8
8
  gem.summary = %q{When do we log? All the time.}
9
9
  gem.homepage = "https://github.com/asenchi/scrolls"
10
-
10
+ gem.license = 'MIT'
11
11
  gem.files = `git ls-files`.split($\)
12
12
  gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
13
13
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
data/test/test_parser.rb CHANGED
@@ -47,25 +47,27 @@ class TestScrollsParser < Test::Unit::TestCase
47
47
  assert_equal data.inspect, parse(unparse(data)).inspect
48
48
  end
49
49
 
50
- def test_parse_constants
50
+ def test_unparse_constants
51
51
  data = { s1: :symbol, s2: Scrolls }
52
52
  assert_equal "s1=symbol s2=Scrolls", unparse(data)
53
53
  end
54
54
 
55
- def test_parse_epoch_time
56
- v = 1340118155
57
- data = { t: Time.at(v) }
58
- assert_equal "t=#{Time.at(v).strftime("%FT%H:%M:%S%z")}", unparse(data)
55
+ def test_unparse_nil
56
+ data = { n: nil }
57
+ assert_equal "n=nil", unparse(data)
59
58
  end
60
59
 
61
- def test_parse_time_object
62
- now = Time.now
63
- data = { t: now }
64
- assert_equal "t=#{now.strftime("%FT%H:%M:%S%z")}", unparse(data)
60
+ def test_unparse_time
61
+ time = Time.new(2012, 06, 19, 16, 02, 35, "+01:00")
62
+ data = { t: time }
63
+ assert_equal "t=2012-06-19T16:02:35+01:00", unparse(data)
65
64
  end
66
65
 
67
- def test_parse_nil
68
- data = { n: nil }
69
- assert_equal "n=nil", unparse(data)
66
+ def test_parse_time
67
+ time = Time.new(2012, 06, 19, 16, 02, 35, "+01:00")
68
+ string = "t=2012-06-19T16:02:35+01:00"
69
+ data = parse(string)
70
+ assert_equal time, data[:t]
70
71
  end
72
+
71
73
  end
data/test/test_scrolls.rb CHANGED
@@ -148,6 +148,12 @@ class TestScrolls < Test::Unit::TestCase
148
148
  assert_equal Syslog::LOG_LOCAL7, Scrolls.facility
149
149
  end
150
150
 
151
+ def test_setting_syslog_facility_after_instantiation
152
+ Scrolls.stream = 'syslog'
153
+ Scrolls.facility = 'local7'
154
+ assert_match /facility=184/, Scrolls.stream.inspect
155
+ end
156
+
151
157
  def test_add_timestamp
152
158
  Scrolls.add_timestamp = true
153
159
  Scrolls.log(:test => "foo")
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: scrolls
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Curt Micol
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-09-14 00:00:00.000000000 Z
11
+ date: 2013-09-26 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Logging, easier, more consistent.
14
14
  email:
@@ -18,7 +18,6 @@ extensions: []
18
18
  extra_rdoc_files: []
19
19
  files:
20
20
  - .gitignore
21
- - .travis.yml
22
21
  - Gemfile
23
22
  - LICENSE
24
23
  - README.md
@@ -36,7 +35,8 @@ files:
36
35
  - test/test_parser.rb
37
36
  - test/test_scrolls.rb
38
37
  homepage: https://github.com/asenchi/scrolls
39
- licenses: []
38
+ licenses:
39
+ - MIT
40
40
  metadata: {}
41
41
  post_install_message:
42
42
  rdoc_options: []
data/.travis.yml DELETED
@@ -1,13 +0,0 @@
1
- language: ruby
2
-
3
- matrix:
4
- allow_failures:
5
- - rvm: rbx
6
-
7
- rvm:
8
- - 1.8.7
9
- - 1.9.2
10
- - 1.9.3
11
- - jruby
12
- - rbx
13
- - ree