timeliness 0.3.4 → 0.3.5

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELOG.rdoc CHANGED
@@ -1,3 +1,6 @@
1
+ = 0.3.5 - 2012-03-29
2
+ * Correctly handle month value of 0. Fixes issue#4.
3
+
1
4
  = 0.3.4 - 2011-05-26
2
5
  * Compact time array when creating time in zone so that invalid time handling works properly. Fixes issue#3.
3
6
 
@@ -22,7 +22,7 @@ module Timeliness
22
22
  end
23
23
 
24
24
  def month_index(month)
25
- return month.to_i if month.to_i > 0
25
+ return Integer(month) rescue ArgumentError
26
26
  month.length > 3 ? month_names.index(month.capitalize) : abbr_month_names.index(month.capitalize)
27
27
  end
28
28
 
@@ -1,3 +1,3 @@
1
1
  module Timeliness
2
- VERSION = '0.3.4'
2
+ VERSION = '0.3.5'
3
3
  end
@@ -29,6 +29,14 @@ describe Timeliness::Format do
29
29
  format_for('dd/mm/yyyy').process('2', '1', '2000').should == [2000,1,2,nil,nil,nil,nil,nil]
30
30
  end
31
31
 
32
+ it "should define method which outputs date array with zeros when month and day are '0'" do
33
+ format_for('m/d/yy').process('0', '0', '0000').should == [0,0,0,nil,nil,nil,nil,nil]
34
+ end
35
+
36
+ it "should define method which outputs date array with zeros when month and day are '00'" do
37
+ format_for('m/d/yy').process('00', '00', '0000').should == [0,0,0,nil,nil,nil,nil,nil]
38
+ end
39
+
32
40
  it "should define method which outputs time array" do
33
41
  format_for('hh:nn:ss').process('01', '02', '03').should == [nil,nil,nil,1,2,3,nil,nil]
34
42
  end
@@ -31,6 +31,14 @@ describe Timeliness::Parser do
31
31
  should_not_parse("2000-02-30")
32
32
  end
33
33
 
34
+ it "should return nil for invalid date string where month is '0'" do
35
+ should_not_parse("0/01/2000")
36
+ end
37
+
38
+ it "should return nil for invalid date string where month is '00'" do
39
+ should_not_parse("00/01/2000")
40
+ end
41
+
34
42
  it "should return time object for valid time string" do
35
43
  parse("12:13:14").should be_kind_of(Time)
36
44
  end
@@ -123,6 +131,10 @@ describe Timeliness::Parser do
123
131
  it "should return time object for valid datetime string" do
124
132
  parse("2000-01-01 12:13:14", :datetime).should == Time.local(2000,1,1,12,13,14)
125
133
  end
134
+
135
+ it "should return nil for invalid date string" do
136
+ parse("0/01/2000", :datetime).should be_nil
137
+ end
126
138
  end
127
139
 
128
140
  context "with :date type" do
@@ -133,6 +145,10 @@ describe Timeliness::Parser do
133
145
  it "should ignore time in datetime string" do
134
146
  parse('2000-02-01 12:13', :date).should == Time.local(2000,2,1)
135
147
  end
148
+
149
+ it "should return nil for invalid date string" do
150
+ parse("0/01/2000", :date).should be_nil
151
+ end
136
152
  end
137
153
 
138
154
  context "with :time type" do
metadata CHANGED
@@ -1,34 +1,24 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: timeliness
3
- version: !ruby/object:Gem::Version
4
- hash: 27
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.3.5
5
5
  prerelease:
6
- segments:
7
- - 0
8
- - 3
9
- - 4
10
- version: 0.3.4
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Adam Meehan
14
9
  autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
-
18
- date: 2011-05-26 00:00:00 +10:00
19
- default_executable:
12
+ date: 2012-03-29 00:00:00.000000000Z
20
13
  dependencies: []
21
-
22
14
  description: Fast date/time parser with customisable formats, timezone and I18n support.
23
15
  email: adam.meehan@gmail.com
24
16
  executables: []
25
-
26
17
  extensions: []
27
-
28
- extra_rdoc_files:
18
+ extra_rdoc_files:
29
19
  - README.rdoc
30
20
  - CHANGELOG.rdoc
31
- files:
21
+ files:
32
22
  - CHANGELOG.rdoc
33
23
  - LICENSE
34
24
  - README.rdoc
@@ -50,39 +40,28 @@ files:
50
40
  - spec/timeliness/format_spec.rb
51
41
  - spec/timeliness/parser_spec.rb
52
42
  - timeliness.gemspec
53
- has_rdoc: true
54
43
  homepage: http://github.com/adzap/timeliness
55
44
  licenses: []
56
-
57
45
  post_install_message:
58
46
  rdoc_options: []
59
-
60
- require_paths:
47
+ require_paths:
61
48
  - lib
62
- required_ruby_version: !ruby/object:Gem::Requirement
49
+ required_ruby_version: !ruby/object:Gem::Requirement
63
50
  none: false
64
- requirements:
65
- - - ">="
66
- - !ruby/object:Gem::Version
67
- hash: 3
68
- segments:
69
- - 0
70
- version: "0"
71
- required_rubygems_version: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ required_rubygems_version: !ruby/object:Gem::Requirement
72
56
  none: false
73
- requirements:
74
- - - ">="
75
- - !ruby/object:Gem::Version
76
- hash: 3
77
- segments:
78
- - 0
79
- version: "0"
57
+ requirements:
58
+ - - ! '>='
59
+ - !ruby/object:Gem::Version
60
+ version: '0'
80
61
  requirements: []
81
-
82
62
  rubyforge_project: timeliness
83
- rubygems_version: 1.5.2
63
+ rubygems_version: 1.8.6
84
64
  signing_key:
85
65
  specification_version: 3
86
66
  summary: Date/time parsing for the control freak.
87
67
  test_files: []
88
-