glue 0.22.0 → 0.23.0
Sign up to get free protection for your applications and to get access to all the features.
- data/README +3 -3
- data/Rakefile +3 -3
- data/{CHANGELOG → doc/CHANGELOG.1} +0 -0
- data/doc/RELEASES +10 -0
- data/lib/glue.rb +7 -12
- data/lib/glue/configuration.rb +4 -4
- data/lib/glue/fixture.rb +3 -4
- data/lib/glue/helper.rb +1 -2
- data/lib/glue/logger.rb +43 -23
- data/lib/glue/metadata.rb +60 -0
- data/lib/glue/mock.rb +40 -0
- data/lib/glue/property.rb +33 -9
- data/lib/glue/property.rb.old +438 -0
- data/lib/glue/template.rb +1 -1
- data/lib/glue/uri.rb +2 -2
- data/test/glue/tc_metadata.rb +33 -0
- metadata +53 -57
- data/lib/glue/annotation.rb +0 -33
- data/lib/glue/array.rb +0 -61
- data/lib/glue/autoreload.rb +0 -30
- data/lib/glue/cache.rb +0 -189
- data/lib/glue/hash.rb +0 -122
- data/lib/glue/misc.rb +0 -15
- data/lib/glue/number.rb +0 -24
- data/lib/glue/object.rb +0 -35
- data/lib/glue/pool.rb +0 -60
- data/lib/glue/snapshot.rb +0 -104
- data/lib/glue/string.rb +0 -162
- data/lib/glue/time.rb +0 -85
- data/lib/vendor/blankslate.rb +0 -53
- data/test/glue/tc_hash.rb +0 -36
- data/test/glue/tc_numbers.rb +0 -18
- data/test/glue/tc_strings.rb +0 -102
data/lib/glue/time.rb
DELETED
@@ -1,85 +0,0 @@
|
|
1
|
-
# * George Moschovitis <gm@navel.gr>
|
2
|
-
# (c) 2004-2005 Navel, all rights reserved.
|
3
|
-
# $Id: time.rb 182 2005-07-22 10:07:50Z gmosx $
|
4
|
-
|
5
|
-
require 'time.rb'
|
6
|
-
|
7
|
-
module Glue;
|
8
|
-
|
9
|
-
# General time utilities collection
|
10
|
-
#
|
11
|
-
# Implement as a module to avoid class polution. You can
|
12
|
-
# still Ruby's advanced features to include the module in your
|
13
|
-
# class. Passing the object to act upon allows to check for nil,
|
14
|
-
# which isn't possible if you use self.
|
15
|
-
#
|
16
|
-
# == TODO
|
17
|
-
#
|
18
|
-
# - SOS: add test units.
|
19
|
-
# - add aliases for those methods in Kernel ?
|
20
|
-
|
21
|
-
module TimeUtils
|
22
|
-
|
23
|
-
NOW = Time.now
|
24
|
-
NEVER = Time.mktime(2038)
|
25
|
-
ZERO = Time.mktime(1972)
|
26
|
-
|
27
|
-
# Convert the time to a nice String representation.
|
28
|
-
|
29
|
-
def self.date_time(time)
|
30
|
-
return nil unless time
|
31
|
-
return time.strftime("%d-%m-%Y %H:%M")
|
32
|
-
end
|
33
|
-
|
34
|
-
# This method calculates the days extrema given two time objects.
|
35
|
-
# start time is the given time1 at 00:00:00
|
36
|
-
# end time is the given time2 at 23:59:59:999
|
37
|
-
#
|
38
|
-
# Input:
|
39
|
-
# - the two times (if only time1 is provided then you get an extrema
|
40
|
-
# of exactly one day extrema.
|
41
|
-
#
|
42
|
-
# Output
|
43
|
-
# - the time range. you can get the start/end times using
|
44
|
-
# range methods.
|
45
|
-
|
46
|
-
def self.days_extrema(time1, time2=nil)
|
47
|
-
time2 = time1 if (not time2.valid? Time)
|
48
|
-
time2 = NEVER if (time2 <= time1)
|
49
|
-
start_time = Time.self.start_of_day(time1)
|
50
|
-
end_time = self.end_of_day(time2)
|
51
|
-
return (start_time..end_time)
|
52
|
-
end
|
53
|
-
|
54
|
-
# Set time to start of day
|
55
|
-
|
56
|
-
def self.start_of_day(time)
|
57
|
-
return Time.mktime(time.year, time.month, time.day, 0, 0, 0, 0)
|
58
|
-
end
|
59
|
-
|
60
|
-
|
61
|
-
# Set time to end of day
|
62
|
-
|
63
|
-
def self.end_of_day(time)
|
64
|
-
return Time.mktime(time.year, time.month, time.day, 23, 59, 59, 999)
|
65
|
-
end
|
66
|
-
|
67
|
-
|
68
|
-
# Returns true only if day of time is included in the
|
69
|
-
# range (stime..etime). Only year days are checked.
|
70
|
-
|
71
|
-
def self.time_in_day_range(time, stime=ZERO, etime=NEVER)
|
72
|
-
if (etime <= stime)
|
73
|
-
Logger.debug "Invalid end time (#{etime} < #{stime})" if $DBG
|
74
|
-
etime = NEVER
|
75
|
-
end
|
76
|
-
|
77
|
-
stime = start_of_day(stime)
|
78
|
-
etime = end_of_day(etime)
|
79
|
-
|
80
|
-
return (stime..etime).include?(time)
|
81
|
-
end
|
82
|
-
|
83
|
-
end
|
84
|
-
|
85
|
-
end
|
data/lib/vendor/blankslate.rb
DELETED
@@ -1,53 +0,0 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
#--
|
3
|
-
# Copyright 2004 by Jim Weirich (jim@weirichhouse.org).
|
4
|
-
# All rights reserved.
|
5
|
-
|
6
|
-
# Permission is granted for use, copying, modification, distribution,
|
7
|
-
# and distribution of modified versions of this work as long as the
|
8
|
-
# above copyright notice is included.
|
9
|
-
#++
|
10
|
-
|
11
|
-
module Builder
|
12
|
-
|
13
|
-
# BlankSlate provides an abstract base class with no predefined
|
14
|
-
# methods (except for <tt>\_\_send__</tt> and <tt>\_\_id__</tt>).
|
15
|
-
# BlankSlate is useful as a base class when writing classes that
|
16
|
-
# depend upon <tt>method_missing</tt> (e.g. dynamic proxies).
|
17
|
-
class BlankSlate
|
18
|
-
class << self
|
19
|
-
def hide(name)
|
20
|
-
undef_method name if
|
21
|
-
instance_methods.include?(name.to_s) and
|
22
|
-
name !~ /^(__|instance_eval)/
|
23
|
-
end
|
24
|
-
end
|
25
|
-
|
26
|
-
instance_methods.each { |m| hide(m) }
|
27
|
-
end
|
28
|
-
end
|
29
|
-
|
30
|
-
# Since Ruby is very dynamic, methods added to the ancestors of
|
31
|
-
# BlankSlate <em>after BlankSlate is defined</em> will show up in the
|
32
|
-
# list of available BlankSlate methods. We handle this by defining a hook in the Object and Kernel classes that will hide any defined
|
33
|
-
module Kernel
|
34
|
-
class << self
|
35
|
-
alias_method :blank_slate_method_added, :method_added
|
36
|
-
def method_added(name)
|
37
|
-
blank_slate_method_added(name)
|
38
|
-
return if self != Kernel
|
39
|
-
Builder::BlankSlate.hide(name)
|
40
|
-
end
|
41
|
-
end
|
42
|
-
end
|
43
|
-
|
44
|
-
class Object
|
45
|
-
class << self
|
46
|
-
alias_method :blank_slate_method_added, :method_added
|
47
|
-
def method_added(name)
|
48
|
-
blank_slate_method_added(name)
|
49
|
-
return if self != Object
|
50
|
-
Builder::BlankSlate.hide(name)
|
51
|
-
end
|
52
|
-
end
|
53
|
-
end
|
data/test/glue/tc_hash.rb
DELETED
@@ -1,36 +0,0 @@
|
|
1
|
-
require "test/unit"
|
2
|
-
require "glue/hash"
|
3
|
-
|
4
|
-
class TestCaseGlueCache < Test::Unit::TestCase # :nodoc: all
|
5
|
-
include Glue
|
6
|
-
|
7
|
-
def setup
|
8
|
-
@safe_cache = SafeHash.new(Hash.new)
|
9
|
-
end
|
10
|
-
|
11
|
-
def teardown
|
12
|
-
@safe_cache = nil
|
13
|
-
end
|
14
|
-
|
15
|
-
def test_safe_cache
|
16
|
-
assert_equal(nil, @safe_cache["no_item"])
|
17
|
-
item1 = "item1"
|
18
|
-
@safe_cache["key1"] = item1
|
19
|
-
assert_equal(item1, @safe_cache["key1"])
|
20
|
-
|
21
|
-
@safe_cache["rem1"] = item1
|
22
|
-
@safe_cache.delete("rem1")
|
23
|
-
assert_equal(nil, @safe_cache["rem1"])
|
24
|
-
|
25
|
-
@safe_cache.clear()
|
26
|
-
assert_equal(0, @safe_cache.size)
|
27
|
-
|
28
|
-
@safe_cache["i1"] = "i1"
|
29
|
-
@safe_cache["i2"] = "i1"
|
30
|
-
@safe_cache["i3"] = "i1"
|
31
|
-
assert_equal(3, @safe_cache.size)
|
32
|
-
|
33
|
-
assert_equal(3, @safe_cache.values.size)
|
34
|
-
end
|
35
|
-
|
36
|
-
end
|
data/test/glue/tc_numbers.rb
DELETED
@@ -1,18 +0,0 @@
|
|
1
|
-
require 'test/unit'
|
2
|
-
require 'glue/number'
|
3
|
-
|
4
|
-
class TestCaseNumberUtils < Test::Unit::TestCase # :nodoc: all
|
5
|
-
include Glue
|
6
|
-
|
7
|
-
def setup
|
8
|
-
end
|
9
|
-
|
10
|
-
def teardown
|
11
|
-
end
|
12
|
-
|
13
|
-
def test_ceil_multiple
|
14
|
-
assert_equal(20, NumberUtils.ceil_multiple(15, 10))
|
15
|
-
assert_equal(10, NumberUtils.ceil_multiple(1, 10))
|
16
|
-
end
|
17
|
-
|
18
|
-
end
|
data/test/glue/tc_strings.rb
DELETED
@@ -1,102 +0,0 @@
|
|
1
|
-
|
2
|
-
require 'test/unit'
|
3
|
-
require 'glue/string'
|
4
|
-
|
5
|
-
class TCStringUtilsUtils < Test::Unit::TestCase # :nodoc: all
|
6
|
-
include Glue
|
7
|
-
|
8
|
-
def setup
|
9
|
-
@s = "this is any cool test"
|
10
|
-
end
|
11
|
-
|
12
|
-
def test_valid?
|
13
|
-
assert_equal(true, StringUtils.valid?("test"))
|
14
|
-
assert_equal(false, StringUtils.valid?(""))
|
15
|
-
assert_equal(false, StringUtils.valid?(nil))
|
16
|
-
end
|
17
|
-
|
18
|
-
def test_head
|
19
|
-
assert_equal(nil, StringUtils.head(nil))
|
20
|
-
assert_equal("this...", StringUtils.head(@s, 3))
|
21
|
-
assert_equal("this+++", StringUtils.head(@s, 3, false, "+++"))
|
22
|
-
assert_equal("thi...", StringUtils.head(@s, 3, true))
|
23
|
-
assert_equal("this is...", StringUtils.head(@s, 8))
|
24
|
-
assert_equal(nil, StringUtils.head(@s, 0))
|
25
|
-
assert_equal(nil, StringUtils.head(@s, 0, true))
|
26
|
-
assert_equal("this is...", StringUtils.head(@s, 8, true))
|
27
|
-
end
|
28
|
-
|
29
|
-
def test_rewrite
|
30
|
-
rules = [
|
31
|
-
[/\/\$/, "../n1"],
|
32
|
-
[/\$/, "../n1"],
|
33
|
-
[/^games/, "../../games"],
|
34
|
-
[/^tmp/, "/n/theseas/var/tmp"],
|
35
|
-
]
|
36
|
-
string = StringUtils.rewrite("games/arkanoid.html", rules)
|
37
|
-
assert_equal("../../games/arkanoid.html", string)
|
38
|
-
string = StringUtils.rewrite("tmp/garbage.html", rules)
|
39
|
-
assert_equal("/n/theseas/var/tmp/garbage.html", string)
|
40
|
-
string = StringUtils.rewrite("root/index.html", rules)
|
41
|
-
assert_equal("root/index.html", string)
|
42
|
-
assert_equal(nil, StringUtils.rewrite(nil, rules))
|
43
|
-
assert_equal("", StringUtils.rewrite("", rules))
|
44
|
-
|
45
|
-
assert_raises(ArgumentError) {
|
46
|
-
assert_equal("koko", StringUtils.rewrite("koko", nil))
|
47
|
-
}
|
48
|
-
|
49
|
-
# bug: should keep order
|
50
|
-
s = StringUtils.rewrite("/$/koko.html", rules)
|
51
|
-
assert_equal("../n1/koko.html", s)
|
52
|
-
end
|
53
|
-
|
54
|
-
def test_wrap
|
55
|
-
s = "1234567890abcdefghijklmnopqrstu"
|
56
|
-
r = "1234 5678 90ab cdef ghij klmn opqr stu"
|
57
|
-
assert_equal(r, StringUtils::wrap(s, 4, " "))
|
58
|
-
|
59
|
-
s = "111111111111111111111111111111111111111111111111"
|
60
|
-
r = "1111111111 1111111111 1111111111 1111111111 11111111"
|
61
|
-
assert_equal(r, StringUtils::wrap(s, 10, " "))
|
62
|
-
|
63
|
-
s = "jackdaws love my big sphinx of quartz"
|
64
|
-
r = "jackdaws love my big sphinx of quartz"
|
65
|
-
assert_equal(r, StringUtils::wrap(s, 10, " "))
|
66
|
-
|
67
|
-
s = "jackdaws love my big sphinx of quartz"
|
68
|
-
r = "jack daws love my big sphi nx of quar tz"
|
69
|
-
assert_equal(r, StringUtils::wrap(s, 4, " "))
|
70
|
-
|
71
|
-
s = "jack.daws love my big sphinx of quartz"
|
72
|
-
r = "jack .daw s love my big sphi nx of quar tz"
|
73
|
-
assert_equal(r, StringUtils::wrap(s, 4, " "))
|
74
|
-
|
75
|
-
assert_equal("", StringUtils::wrap("", 4, " "))
|
76
|
-
assert_equal(nil, StringUtils::wrap(nil, 4, " "))
|
77
|
-
end
|
78
|
-
=begin
|
79
|
-
def test_rationalize_filename
|
80
|
-
filename = StringUtils.rationalize_filename("hello my friend!.gif")
|
81
|
-
assert_equal("hello-my-friend.gif", filename)
|
82
|
-
filename = StringUtils.rationalize_filename("���� ����.gif")
|
83
|
-
assert_equal("pame-pali.gif", filename)
|
84
|
-
filename = StringUtils.rationalize_filename("�� ���.gif")
|
85
|
-
assert_equal("ti-les.gif", filename)
|
86
|
-
|
87
|
-
# bug:
|
88
|
-
filename = StringUtils.rationalize_filename("image-(10).gif")
|
89
|
-
assert_equal("image-10.gif", filename)
|
90
|
-
end
|
91
|
-
=end
|
92
|
-
def test_random_string
|
93
|
-
s1 = StringUtils.random()
|
94
|
-
s2 = StringUtils.random()
|
95
|
-
assert_not_equal(s1, s2)
|
96
|
-
assert(s1.size == s2.size)
|
97
|
-
end
|
98
|
-
|
99
|
-
def teardown
|
100
|
-
@s = nil
|
101
|
-
end
|
102
|
-
end
|