scrolls 0.3.2 → 0.3.3
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 +4 -4
- data/lib/scrolls/log.rb +17 -3
- data/lib/scrolls/parser.rb +7 -1
- data/lib/scrolls/version.rb +1 -1
- data/test/test_parser.rb +8 -0
- data/test/test_scrolls.rb +5 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d28b354cb4e72276125072ef90d2e3805c113f4e
|
4
|
+
data.tar.gz: 5c298b15aa7c13b3f331b8e21fb5449bba573378
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6c33ba3926c85e139e5557a056fa3633513cad1be910d6ee509cd8691311a859f1c4ca622135e7d1e3508f8dcb0cecd3f425f2efa15fb64267caf00dce69548f
|
7
|
+
data.tar.gz: 870a0b7e8d4c980e6e750b1ad2dfaf03d7acd2c199aead992c0b1a2f16691ee0e5c3701b5421f7048117b70b47d9d5186ac525def68bf74ff072123e6ad5b301
|
data/lib/scrolls/log.rb
CHANGED
@@ -86,15 +86,22 @@ module Scrolls
|
|
86
86
|
end
|
87
87
|
|
88
88
|
def log(data, &blk)
|
89
|
+
# If we get a string lets bring it into our structure.
|
90
|
+
if data.kind_of? String
|
91
|
+
rawhash = { "log_message" => data }
|
92
|
+
else
|
93
|
+
rawhash = data
|
94
|
+
end
|
95
|
+
|
89
96
|
if gc = get_global_context
|
90
97
|
ctx = gc.merge(context)
|
91
|
-
logdata = ctx.merge(
|
98
|
+
logdata = ctx.merge(rawhash)
|
92
99
|
end
|
93
100
|
|
94
101
|
# By merging the logdata into the timestamp, rather than vice-versa, we
|
95
102
|
# ensure that the timestamp comes first in the Hash, and is placed first
|
96
103
|
# on the output, which helps with readability.
|
97
|
-
logdata = { :now => Time.now }.merge(logdata) if add_timestamp
|
104
|
+
logdata = { :now => Time.now.utc }.merge(logdata) if add_timestamp
|
98
105
|
|
99
106
|
unless blk
|
100
107
|
write(logdata)
|
@@ -123,8 +130,15 @@ module Scrolls
|
|
123
130
|
def log_exception(data, e)
|
124
131
|
sync_stream(STDERR) unless @defined
|
125
132
|
|
133
|
+
# If we get a string lets bring it into our structure.
|
134
|
+
if data.kind_of? String
|
135
|
+
rawhash = { "log_message" => data }
|
136
|
+
else
|
137
|
+
rawhash = data
|
138
|
+
end
|
139
|
+
|
126
140
|
if gc = get_global_context
|
127
|
-
logdata = gc.merge(
|
141
|
+
logdata = gc.merge(rawhash)
|
128
142
|
end
|
129
143
|
|
130
144
|
log(logdata.merge(
|
data/lib/scrolls/parser.rb
CHANGED
@@ -29,7 +29,13 @@ module Scrolls
|
|
29
29
|
v = '"' + v.gsub('\\', '\\\\\\') + '"'
|
30
30
|
end
|
31
31
|
elsif v =~ /=/
|
32
|
-
|
32
|
+
if has_single_quote && has_double_quote
|
33
|
+
v = '"' + v.gsub(/\\|"/) { |c| "\\#{c}" } + '"'
|
34
|
+
elsif has_double_quote
|
35
|
+
v = "'" + v.gsub('\\', '\\\\\\') + "'"
|
36
|
+
else
|
37
|
+
v = '"' + v.gsub('\\', '\\\\\\') + '"'
|
38
|
+
end
|
33
39
|
end
|
34
40
|
"#{k}=#{v}"
|
35
41
|
end
|
data/lib/scrolls/version.rb
CHANGED
data/test/test_parser.rb
CHANGED
@@ -29,6 +29,14 @@ class TestScrollsParser < Test::Unit::TestCase
|
|
29
29
|
assert_equal 's="hello world"', unparse(data)
|
30
30
|
assert_equal data.inspect, parse(unparse(data)).inspect
|
31
31
|
|
32
|
+
data = { s: "hello world".inspect }
|
33
|
+
assert_equal "s='\"hello world\"'", unparse(data)
|
34
|
+
assert_equal data.inspect, parse(unparse(data)).inspect
|
35
|
+
|
36
|
+
data = { s: "hello=world".inspect }
|
37
|
+
assert_equal "s='\"hello=world\"'", unparse(data)
|
38
|
+
assert_equal data.inspect, parse(unparse(data)).inspect
|
39
|
+
|
32
40
|
data = { s: "slasher \\" }
|
33
41
|
assert_equal 's="slasher \\\\"', unparse(data)
|
34
42
|
assert_equal data.inspect, parse(unparse(data)).inspect
|
data/test/test_scrolls.rb
CHANGED
@@ -160,4 +160,9 @@ class TestScrolls < Test::Unit::TestCase
|
|
160
160
|
iso8601_regexp = "(-?(?:[1-9][0-9]*)?[0-9]{4})-(1[0-2]|0[1-9])-(3[0-1]|0[1-9]|[1-2][0-9])T(2[0-3]|[0-1][0-9]):([0-5][0-9]):([0-5][0-9])(\.[0-9]+)?(Z|[+-](?:2[0-3]|[0-1][0-9]):[0-5][0-9])?"
|
161
161
|
assert_match(/^now=#{iso8601_regexp} test=foo$/, @out.string)
|
162
162
|
end
|
163
|
+
|
164
|
+
def test_logging_strings
|
165
|
+
Scrolls.log("string")
|
166
|
+
assert_equal "log_message=string\n", @out.string
|
167
|
+
end
|
163
168
|
end
|
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.
|
4
|
+
version: 0.3.3
|
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-
|
11
|
+
date: 2013-10-15 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: Logging, easier, more consistent.
|
14
14
|
email:
|