scrolls 0.0.2 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/scrolls/version.rb +1 -1
- data/lib/scrolls.rb +14 -32
- metadata +2 -2
data/lib/scrolls/version.rb
CHANGED
data/lib/scrolls.rb
CHANGED
@@ -17,6 +17,7 @@ module Scrolls
|
|
17
17
|
extend self
|
18
18
|
|
19
19
|
def start
|
20
|
+
$stdout.sync = $stderr.sync = true
|
20
21
|
log(:log => true, :start => true)
|
21
22
|
end
|
22
23
|
|
@@ -24,37 +25,28 @@ module Scrolls
|
|
24
25
|
@mtx ||= Mutex.new
|
25
26
|
end
|
26
27
|
|
27
|
-
def
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
def sync_stderr
|
33
|
-
$stderr.sync = true
|
34
|
-
$stderr
|
35
|
-
end
|
36
|
-
|
37
|
-
def stdout
|
38
|
-
@stdout ||= sync_stdout
|
39
|
-
end
|
40
|
-
|
41
|
-
def stderr
|
42
|
-
@stderr ||= sync_stderr
|
28
|
+
def write(data)
|
29
|
+
msg = unparse(data)
|
30
|
+
mtx.synchronize do
|
31
|
+
$stdout.puts(msg)
|
32
|
+
end
|
43
33
|
end
|
44
34
|
|
45
35
|
def unparse(data)
|
46
36
|
data.map do |(k, v)|
|
47
37
|
if (v == true)
|
48
38
|
k.to_s
|
49
|
-
elsif (v == false)
|
50
|
-
"#{k}=false"
|
51
|
-
elsif v.is_a?(String) # escape and quote v with ' or \ or multiple words
|
52
|
-
v = v.gsub(/\\|'/) { |c| "\\#{c}" }
|
53
|
-
"#{k}='#{v}'"
|
54
39
|
elsif v.is_a?(Float)
|
55
40
|
"#{k}=#{format("%.3f", v)}"
|
41
|
+
elsif v.nil?
|
42
|
+
nil
|
56
43
|
else
|
57
|
-
|
44
|
+
v_str = v.to_s
|
45
|
+
if (v_str =~ /^[a-zA-Z0-9\:\.\-\_\/\@]+$/)
|
46
|
+
"#{k}=#{v_str}"
|
47
|
+
else
|
48
|
+
"#{k}=\"#{v_str.sub(/".*/, "...")}\""
|
49
|
+
end
|
58
50
|
end
|
59
51
|
end.compact.join(" ")
|
60
52
|
end
|
@@ -100,15 +92,5 @@ module Scrolls
|
|
100
92
|
))
|
101
93
|
end
|
102
94
|
end
|
103
|
-
|
104
|
-
private
|
105
|
-
|
106
|
-
def write(data, output=stdout)
|
107
|
-
msg = unparse(data)
|
108
|
-
mtx.synchronize do
|
109
|
-
output.puts(msg)
|
110
|
-
output.flush
|
111
|
-
end
|
112
|
-
end
|
113
95
|
end
|
114
96
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: scrolls
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-03-28 00:00:00.000000000 Z
|
13
13
|
dependencies: []
|
14
14
|
description: Logging, easier, more consistent.
|
15
15
|
email:
|