ruby_extensions 1.0.8 → 1.0.11
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/m_logger.rb +0 -55
- data/lib/m_object.rb +6 -1
- data/lib/m_string.rb +32 -8
- data/lib/tasks/rubyforge_config.yml +1 -1
- metadata +2 -2
data/lib/m_logger.rb
CHANGED
@@ -1,55 +0,0 @@
|
|
1
|
-
class Logger
|
2
|
-
|
3
|
-
%W[error debug fatal info warn].each do |level|
|
4
|
-
class_eval %{
|
5
|
-
alias_method :old_#{level}, :#{level}
|
6
|
-
|
7
|
-
def #{level}(progname = nil, &block)
|
8
|
-
old_#{level}(format_progname(progname), &block)
|
9
|
-
end
|
10
|
-
}
|
11
|
-
end
|
12
|
-
|
13
|
-
j = 5
|
14
|
-
5.times do |i|
|
15
|
-
lbs = ""
|
16
|
-
ast = ""
|
17
|
-
j.times { lbs << "\n"}
|
18
|
-
(j * 5).times { ast << "*"}
|
19
|
-
class_eval %{
|
20
|
-
def debug_#{i+1}(progname = nil, &block)
|
21
|
-
progname = format_progname(progname)
|
22
|
-
mess = "\n#{ast}#{lbs}\#{progname}#{lbs}#{ast}"
|
23
|
-
debug(mess, &block)
|
24
|
-
end
|
25
|
-
}
|
26
|
-
j = j - 1
|
27
|
-
end
|
28
|
-
|
29
|
-
def format_message(severity, timestamp, progname, msg)
|
30
|
-
# Check for characters at the start of the message string indicating special formatting
|
31
|
-
# Make the typical case as efficient as possible
|
32
|
-
if not msg[0..1] == '$@'
|
33
|
-
pid = (defined?(ENABLE_PIDS_IN_LOGS) and ENABLE_PIDS_IN_LOGS) ? "(#{$$}) " : ''
|
34
|
-
return "#{pid}[#{severity}]\t#{timestamp}\t#{msg}\n"
|
35
|
-
end
|
36
|
-
format = msg[2..2]
|
37
|
-
msg = msg[3..-1]
|
38
|
-
# Original format
|
39
|
-
if format == 'O'
|
40
|
-
return "#{timestamp}\t[#{severity}]\t#{msg}\n"
|
41
|
-
elsif format == 'S'
|
42
|
-
return "#{msg}\n"
|
43
|
-
end
|
44
|
-
|
45
|
-
end
|
46
|
-
|
47
|
-
private
|
48
|
-
def format_progname(progname)
|
49
|
-
unless progname.nil?
|
50
|
-
progname = "#{progname.to_s}\n#{progname.backtrace.join("\n\t")}\n" if progname.is_a? Exception
|
51
|
-
end
|
52
|
-
progname
|
53
|
-
end
|
54
|
-
|
55
|
-
end
|
data/lib/m_object.rb
CHANGED
@@ -10,7 +10,12 @@ class Object
|
|
10
10
|
e = "---Ending at #{e_time}---"
|
11
11
|
puts e
|
12
12
|
logger.info e unless logger.nil?
|
13
|
-
|
13
|
+
secs = e_time - s_time
|
14
|
+
if secs < 60
|
15
|
+
x = "Running time #{secs} seconds."
|
16
|
+
else
|
17
|
+
x = "Running time roughly #{secs/60} minutes [#{secs} seconds]"
|
18
|
+
end
|
14
19
|
x += " [MESSAGE]: #{message}" unless message.blank?
|
15
20
|
puts x
|
16
21
|
logger.info x unless logger.nil?
|
data/lib/m_string.rb
CHANGED
@@ -1,13 +1,22 @@
|
|
1
|
+
require 'digest'
|
1
2
|
class String
|
2
3
|
|
3
4
|
def linkify(enabled = true, options = {}, &block)
|
4
5
|
text = self.dup
|
5
|
-
m = text.match(
|
6
|
+
m = text.match(/\"([^"]+)\"\:([^:]+\:\S+)/)
|
6
7
|
until m.nil?
|
7
|
-
y = m.to_s
|
8
|
-
t =
|
9
|
-
url =
|
10
|
-
|
8
|
+
y = m.to_s
|
9
|
+
t = m[1]
|
10
|
+
url = m[2]
|
11
|
+
|
12
|
+
# The code below handles punctuation or p tags being mistakenly added to the url when the link is at the end of a sentence or body
|
13
|
+
url_punct_match = /\W*[ ]*[\<\/p\>]*$/.match(url)
|
14
|
+
punct = ''
|
15
|
+
if url_punct_match && url_punct_match[0] != ""
|
16
|
+
url.chomp!(url_punct_match[0])
|
17
|
+
punct = url_punct_match[0] unless url_punct_match == "="
|
18
|
+
end
|
19
|
+
|
11
20
|
if block_given?
|
12
21
|
if enabled
|
13
22
|
ret = yield t, url, options
|
@@ -17,12 +26,12 @@ class String
|
|
17
26
|
end
|
18
27
|
else
|
19
28
|
if enabled
|
20
|
-
text.gsub!(y, "<a href=\"#{url}\" #{options.join("%s=\"%s\"", " ")}>#{t}</a
|
29
|
+
text.gsub!(y, "<a href=\"#{url}\" #{options.join("%s=\"%s\"", " ")}>#{t}</a>#{punct}")# punct places punctuation back into proper place
|
21
30
|
else
|
22
31
|
text.gsub!(y, t.to_s)
|
23
32
|
end
|
24
33
|
end
|
25
|
-
m = text.match(/\
|
34
|
+
m = text.match(/\"([^"]+)\"\:([^:]+\:\S+)/)
|
26
35
|
end
|
27
36
|
return text
|
28
37
|
end
|
@@ -139,7 +148,22 @@ class String
|
|
139
148
|
def breakify(every = 30)
|
140
149
|
every = 1 if every < 1
|
141
150
|
text = self
|
142
|
-
|
151
|
+
textile_regex = /\"([^\"]+)\":([^:]*:[\/\/]{0,1}[^ ]*)/
|
152
|
+
long_regex = /\S{#{every},}/
|
153
|
+
brokentxt = text.gsub(long_regex) do |longword|
|
154
|
+
if longword =~ textile_regex #if the longword is a textile link...ignore and recheck for the link text only
|
155
|
+
textile_link = textile_regex.match(longword)[0]
|
156
|
+
link_text = textile_regex.match(longword)[1]
|
157
|
+
longword = link_text
|
158
|
+
if longword =~ long_regex #link text is long...allow break
|
159
|
+
textile_link.scan(/.{1,#{every}}/).join("<wbr/>")
|
160
|
+
else
|
161
|
+
textile_link #the url is what triggered the match...so leave it alone
|
162
|
+
end
|
163
|
+
else
|
164
|
+
longword.scan(/.{1,#{every}}/).join("<wbr/>") #no textile link matched
|
165
|
+
end
|
166
|
+
end
|
143
167
|
#text = %Q[<span style='word-wrap:break-word;wbr:after{content:"\\00200B"}'>#{brokentxt}</span>]
|
144
168
|
#brokentxt.gsub("<wbr/>", "<br />")
|
145
169
|
brokentxt.gsub("<wbr/>", " ")
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby_extensions
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.11
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- markbates
|
@@ -35,7 +35,7 @@ autorequire:
|
|
35
35
|
bindir: bin
|
36
36
|
cert_chain: []
|
37
37
|
|
38
|
-
date: 2008-
|
38
|
+
date: 2008-02-27 00:00:00 -05:00
|
39
39
|
default_executable:
|
40
40
|
dependencies: []
|
41
41
|
|