accountant_date 0.0.2 → 0.0.3
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 +1 -1
- data/accountant_date.gemspec +2 -2
- data/lib/accountant_date.rb +3 -0
- data/spec/accountant_date_spec.rb +27 -3
- metadata +13 -13
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.3
|
data/accountant_date.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "accountant_date"
|
8
|
-
s.version = "0.0.
|
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-
|
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 = [
|
data/lib/accountant_date.rb
CHANGED
@@ -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
|
-
|
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
|
-
|
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
|
-
|
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.
|
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-
|
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: &
|
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: *
|
24
|
+
version_requirements: *16531080
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: rdoc
|
27
|
-
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: *
|
35
|
+
version_requirements: *16543480
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: bundler
|
38
|
-
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: *
|
46
|
+
version_requirements: *16541760
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: jeweler
|
49
|
-
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: *
|
57
|
+
version_requirements: *16540400
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: simplecov
|
60
|
-
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: *
|
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:
|
105
|
+
hash: 1287419119321098970
|
106
106
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
107
107
|
none: false
|
108
108
|
requirements:
|