dohruby 0.1.3 → 0.1.4

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELOG CHANGED
@@ -6,7 +6,8 @@
6
6
  * changed mysql dependency to 2.7.3
7
7
  *0.1.3* (March 17th, 2008)
8
8
  * removed mysql dependency -- support sucks for it right now -- install it manually
9
-
9
+ *0.1.4* (April 1st, 2008)
10
+ * add date_only for DateTime, add current_date functionality for overriding today / now in a friendly way, added check_int
10
11
 
11
12
 
12
13
 
@@ -0,0 +1,7 @@
1
+ require 'date'
2
+
3
+ class DateTime
4
+ def date_only
5
+ Date.new(year, month, mday)
6
+ end
7
+ end
@@ -0,0 +1,66 @@
1
+ require 'doh/core/date'
2
+
3
+ module Doh
4
+
5
+ @@current_date = nil
6
+ @@current_datetime = nil
7
+
8
+ def self.current_date(dflt = Date.today)
9
+ @@current_date || (@@current_datetime && @@current_datetime.date_only) || dflt
10
+ end
11
+
12
+ def self.set_current_date(date)
13
+ @@current_date = date
14
+ end
15
+
16
+ def self.current_date_set?
17
+ !@@current_date.nil?
18
+ end
19
+
20
+ def self.clear_current_date
21
+ @@current_date = nil
22
+ end
23
+
24
+ def self.date_as(date, &block)
25
+ save_date = @@current_date
26
+ @@current_date = date
27
+ begin
28
+ retval = block.call
29
+ rescue
30
+ @@current_date = save_date
31
+ raise
32
+ end
33
+ @@current_date = save_date
34
+ retval
35
+ end
36
+
37
+ def self.current_datetime(dflt = DateTime.now)
38
+ @@current_datetime || (@@current_date && DateTime.new(@@current_date.year, @@current_date.month, @@current_date.day, rand(12) + 2, rand(60), rand(60))) || dflt
39
+ end
40
+
41
+ def self.set_current_datetime(datetime)
42
+ @@current_datetime = datetime
43
+ end
44
+
45
+ def self.current_datetime_set?
46
+ !@@current_datetime.nil?
47
+ end
48
+
49
+ def self.clear_current_datetime
50
+ @@current_datetime = nil
51
+ end
52
+
53
+ def self.datetime_as(datetime, &block)
54
+ save_datetime = @@current_datetime
55
+ @@current_datetime = datetime
56
+ begin
57
+ retval = block.call
58
+ rescue
59
+ @@current_datetime = save_datetime
60
+ raise
61
+ end
62
+ @@current_datetime = save_datetime
63
+ retval
64
+ end
65
+
66
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dohruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Makani & Kem Mason
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2008-03-17 00:00:00 -06:00
12
+ date: 2008-04-01 00:00:00 -06:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -51,11 +51,13 @@ files:
51
51
  - lib/doh/unit_test.rb
52
52
  - lib/doh/core
53
53
  - lib/doh/core/dir.rb
54
+ - lib/doh/core/date.rb
54
55
  - lib/doh/core/string.rb
55
56
  - lib/doh/logger_app.rb
56
57
  - lib/doh/core.rb
57
58
  - lib/doh/logger.rb
58
59
  - lib/doh/util
60
+ - lib/doh/util/current_date.rb
59
61
  - lib/doh/util/run_tests.rb
60
62
  - lib/doh/util/options.rb
61
63
  - lib/doh/util/source_ip.rb