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 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: