scrolls 0.3.2 → 0.3.3

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: 99c754c2a68b431572505ef7952e6be9c75fcd75
4
- data.tar.gz: 36c1c30b50e7782370bb52ae8dda662776e3788c
3
+ metadata.gz: d28b354cb4e72276125072ef90d2e3805c113f4e
4
+ data.tar.gz: 5c298b15aa7c13b3f331b8e21fb5449bba573378
5
5
  SHA512:
6
- metadata.gz: f2b0754716f62af7b741473ad61167c8f9517f5c71e6b5a2968a2e2dfa3cca5cdd399d855ba1e993c35fe423458cc7d883293ea6b67c0b0647b995fb1660710d
7
- data.tar.gz: 5320c43a79599e2e0c48de9e2c465a12b43f61bbfb57552205a36e6a3959382735a31322d3b2b69e8682df3f81a4f1e8196ec1162697252f60210962ee9ed398
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(data)
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(data)
141
+ logdata = gc.merge(rawhash)
128
142
  end
129
143
 
130
144
  log(logdata.merge(
@@ -29,7 +29,13 @@ module Scrolls
29
29
  v = '"' + v.gsub('\\', '\\\\\\') + '"'
30
30
  end
31
31
  elsif v =~ /=/
32
- v = '"' + v + '"'
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
@@ -1,3 +1,3 @@
1
1
  module Scrolls
2
- VERSION = "0.3.2"
2
+ VERSION = "0.3.3"
3
3
  end
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.2
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-09-26 00:00:00.000000000 Z
11
+ date: 2013-10-15 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Logging, easier, more consistent.
14
14
  email: