epitools 0.4.46 → 0.4.47

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/VERSION CHANGED
@@ -1 +1 @@
1
- 0.4.46
1
+ 0.4.47
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{epitools}
8
- s.version = "0.4.46"
8
+ s.version = "0.4.47"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["epitron"]
12
- s.date = %q{2011-06-24}
12
+ s.date = %q{2011-06-25}
13
13
  s.description = %q{Miscellaneous utility libraries to make my life easier.}
14
14
  s.email = %q{chris@ill-logic.com}
15
15
  s.extra_rdoc_files = [
@@ -52,6 +52,31 @@ class Numeric
52
52
  def commatize
53
53
  to_s.gsub(/(\d)(?=\d{3}+(?:\.|$))(\d{3}\..*)?/,'\1,\2')
54
54
  end
55
+
56
+ # Time
57
+
58
+ {
59
+
60
+ 'second' => 1,
61
+ 'minute' => 60,
62
+ 'hour' => 60 * 60,
63
+ 'day' => 60 * 60 * 24,
64
+ 'week' => 60 * 60 * 24 * 7,
65
+ 'month' => 60 * 60 * 24 * 30,
66
+ 'year' => 60 * 60 * 24 * 364.25,
67
+
68
+ }.each do |unit, scale|
69
+ define_method(unit) { self * scale }
70
+ define_method(unit+'s') { self * scale }
71
+ end
72
+
73
+ def ago
74
+ Time.now - self
75
+ end
76
+
77
+ def from_now
78
+ Time.now + self
79
+ end
55
80
  end
56
81
 
57
82
  class Float
@@ -123,6 +123,18 @@ describe Numeric do
123
123
  -12983287123.commatize.should == "-12,983,287,123"
124
124
  -12983287123.4411.commatize.should == "-12,983,287,123.4411"
125
125
  end
126
+
127
+ it "does time things" do
128
+ 1.second.should == 1
129
+ 1.minute.should == 60
130
+ 2.minutes.should == 120
131
+ 2.hours.should == 120*60
132
+ 2.5.days.should == 3600*24*2.5
133
+
134
+ 5.days.ago.to_i.should == (Time.now - 5.days).to_i
135
+ 1.year.ago.year.should == Time.now.year - 1
136
+ 5.days.from_now.to_i.should == (Time.now + 5.days).to_i
137
+ end
126
138
 
127
139
  end
128
140
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: epitools
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.46
4
+ version: 0.4.47
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,12 +9,12 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-06-24 00:00:00.000000000 -04:00
12
+ date: 2011-06-25 00:00:00.000000000 -04:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rspec
17
- requirement: &83781350 !ruby/object:Gem::Requirement
17
+ requirement: &73254740 !ruby/object:Gem::Requirement
18
18
  none: false
19
19
  requirements:
20
20
  - - ~>
@@ -22,10 +22,10 @@ dependencies:
22
22
  version: 2.2.0
23
23
  type: :development
24
24
  prerelease: false
25
- version_requirements: *83781350
25
+ version_requirements: *73254740
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: mechanize
28
- requirement: &83780450 !ruby/object:Gem::Requirement
28
+ requirement: &73253840 !ruby/object:Gem::Requirement
29
29
  none: false
30
30
  requirements:
31
31
  - - ~>
@@ -33,10 +33,10 @@ dependencies:
33
33
  version: 1.0.0
34
34
  type: :development
35
35
  prerelease: false
36
- version_requirements: *83780450
36
+ version_requirements: *73253840
37
37
  - !ruby/object:Gem::Dependency
38
38
  name: sqlite3-ruby
39
- requirement: &83780200 !ruby/object:Gem::Requirement
39
+ requirement: &73253590 !ruby/object:Gem::Requirement
40
40
  none: false
41
41
  requirements:
42
42
  - - ! '>='
@@ -44,7 +44,7 @@ dependencies:
44
44
  version: '0'
45
45
  type: :development
46
46
  prerelease: false
47
- version_requirements: *83780200
47
+ version_requirements: *73253590
48
48
  description: Miscellaneous utility libraries to make my life easier.
49
49
  email: chris@ill-logic.com
50
50
  executables: []