dohruby 0.1.3 → 0.1.4

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