accountant_date 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.2
1
+ 0.0.3
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "accountant_date"
8
- s.version = "0.0.2"
8
+ s.version = "0.0.3"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Ryan Winograd"]
12
- s.date = "2013-02-14"
12
+ s.date = "2013-03-06"
13
13
  s.description = "Accountants deals with dates that are simply months (e.g., 01/13). accountant_date parses these mm/yy style dates and allows for other shorthands."
14
14
  s.email = "ryan@thewinograds.com"
15
15
  s.extra_rdoc_files = [
@@ -11,6 +11,7 @@ if RUBY_VERSION >= '1.9'
11
11
 
12
12
  # Transform accountant dates into ISO dates before parsing.
13
13
  def _parse(string, comp=true)
14
+ return if string.nil? or string == ''
14
15
  _parse_without_accountant_date(convert_accountant_to_iso(string), comp)
15
16
  end
16
17
 
@@ -20,6 +21,7 @@ if RUBY_VERSION >= '1.9'
20
21
 
21
22
  # Transform accountant dates into ISO dates before parsing.
22
23
  def parse(string, comp=true)
24
+ return if string.nil? or string == ''
23
25
  parse_without_accountant_date(convert_accountant_to_iso(string), comp)
24
26
  end
25
27
  end
@@ -67,6 +69,7 @@ if RUBY_VERSION >= '1.9'
67
69
 
68
70
  # Transform accountant dates into ISO dates before parsing.
69
71
  def parse(string, comp=true)
72
+ return if string.nil? or string == ''
70
73
  parse_without_accountant_date(convert_accountant_to_iso(string), comp)
71
74
  end
72
75
  end
@@ -41,6 +41,14 @@ describe "Date.parse" do
41
41
  it "should still process regularly formatted dates" do
42
42
  Date.parse('1/1/1900', true).should == Date.new(1900, 1, 1)
43
43
  end
44
+
45
+ it "should return nil for empty string" do
46
+ Date.parse('').should == nil
47
+ end
48
+
49
+ it "should return nil for nil" do
50
+ Date.parse(nil).should == nil
51
+ end
44
52
  end
45
53
 
46
54
  describe "DateTime.parse" do
@@ -68,9 +76,17 @@ describe "DateTime.parse" do
68
76
  DateTime.parse('020503', true).should == DateTime.new(2003, 2, 5)
69
77
  end
70
78
 
71
- specify "should ignore preceding whitespace" do
79
+ it "should ignore preceding whitespace" do
72
80
  DateTime.parse(' 02/2003').should == DateTime.new(2003, 2, 1)
73
81
  end
82
+
83
+ it "should return nil for empty string" do
84
+ DateTime.parse('').should == nil
85
+ end
86
+
87
+ it "should return nil for nil" do
88
+ DateTime.parse(nil).should == nil
89
+ end
74
90
  end
75
91
 
76
92
  describe "Time.parse" do
@@ -132,12 +148,20 @@ describe "Date._parse" do
132
148
  Date._parse('020503', true).should == {:year=>2003, :mon=>2, :mday=>5}
133
149
  end
134
150
 
135
- specify "should ignore preceding whitespace" do
151
+ it "should ignore preceding whitespace" do
136
152
  Date._parse(' 02/2003').should == {:year=>2003, :mon=>2, :mday=>1}
137
153
  end
138
154
 
139
- specify "should work with times" do
155
+ it "should work with times" do
140
156
  DateTime._parse('02/2003 10:20:30').should ==
141
157
  {:year=>2003, :mon=>2, :mday=>1, :hour=>10, :min=>20, :sec=>30}
142
158
  end
159
+
160
+ it "should return nil for empty string" do
161
+ Date._parse('').should == nil
162
+ end
163
+
164
+ it "should return nil for nil" do
165
+ Date._parse(nil).should == nil
166
+ end
143
167
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: accountant_date
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-02-14 00:00:00.000000000 Z
12
+ date: 2013-03-06 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rspec
16
- requirement: &14624360 !ruby/object:Gem::Requirement
16
+ requirement: &16531080 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *14624360
24
+ version_requirements: *16531080
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rdoc
27
- requirement: &14639800 !ruby/object:Gem::Requirement
27
+ requirement: &16543480 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *14639800
35
+ version_requirements: *16543480
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: bundler
38
- requirement: &14638180 !ruby/object:Gem::Requirement
38
+ requirement: &16541760 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0'
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *14638180
46
+ version_requirements: *16541760
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: jeweler
49
- requirement: &14635820 !ruby/object:Gem::Requirement
49
+ requirement: &16540400 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: '0'
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *14635820
57
+ version_requirements: *16540400
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: simplecov
60
- requirement: &14634040 !ruby/object:Gem::Requirement
60
+ requirement: &16539240 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ! '>='
@@ -65,7 +65,7 @@ dependencies:
65
65
  version: '0'
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *14634040
68
+ version_requirements: *16539240
69
69
  description: Accountants deals with dates that are simply months (e.g., 01/13). accountant_date
70
70
  parses these mm/yy style dates and allows for other shorthands.
71
71
  email: ryan@thewinograds.com
@@ -102,7 +102,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
102
102
  version: '0'
103
103
  segments:
104
104
  - 0
105
- hash: -1519716211196290850
105
+ hash: 1287419119321098970
106
106
  required_rubygems_version: !ruby/object:Gem::Requirement
107
107
  none: false
108
108
  requirements: