interpreted_date 0.0.6 → 0.0.7
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/interpreted_date/version.rb +1 -1
- data/lib/interpreted_date.rb +5 -4
- data/spec/interpreted_date_spec.rb +5 -0
- metadata +2 -2
data/lib/interpreted_date.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
require "interpreted_date/version"
|
2
|
+
require 'date'
|
2
3
|
|
3
4
|
class InterpretedDate
|
4
5
|
attr_accessor :decade, :year, :month, :day
|
@@ -134,10 +135,10 @@ class InterpretedDate
|
|
134
135
|
|
135
136
|
def <=>(other_date)
|
136
137
|
return nil unless other_date.is_a?(InterpretedDate)
|
137
|
-
(self.decade <=> other_date.decade).nonzero? ||
|
138
|
-
(self.year <=> other_date.year).nonzero? ||
|
139
|
-
(self.month <=> other_date.month).nonzero? ||
|
140
|
-
(self.day <=> other_date.day).nonzero? ||
|
138
|
+
(self.decade.to_i <=> other_date.decade.to_i).nonzero? ||
|
139
|
+
(self.year.to_i <=> other_date.year.to_i).nonzero? ||
|
140
|
+
(self.month.to_i <=> other_date.month.to_i).nonzero? ||
|
141
|
+
(self.day.to_i <=> other_date.day.to_i).nonzero? ||
|
141
142
|
0
|
142
143
|
end
|
143
144
|
|
@@ -150,6 +150,11 @@ describe InterpretedDate do
|
|
150
150
|
(InterpretedDate.new({:decade => 2010, :year => 2012, :month => 3}) <=> InterpretedDate.new({:decade => 2010, :year => 2012, :month => 3})).should == 0
|
151
151
|
end
|
152
152
|
|
153
|
+
it "correctly sorts with the month nil" do
|
154
|
+
(InterpretedDate.new({:decade => 2010, :year => 2012, :month => 2}) <=>
|
155
|
+
InterpretedDate.new({:decade => 2010, :year => 2012, :month => nil})).should == 1
|
156
|
+
end
|
157
|
+
|
153
158
|
it "correctly sorts with the day" do
|
154
159
|
(InterpretedDate.new({:decade => 2010, :year => 2012, :month => 2, :day => 31}) <=> InterpretedDate.new({:decade => 2010, :year => 2011, :month => 2, :day => 1 })).should == 1
|
155
160
|
(InterpretedDate.new({:decade => 2010, :year => 2012, :month => 2, :day => 15}) <=> InterpretedDate.new({:decade => 2010, :year => 2013, :month => 2, :day => 31 })).should == -1
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: interpreted_date
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.7
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-10-
|
12
|
+
date: 2012-10-30 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rspec
|