funtimes 0.1.0 → 0.1.1
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/README.rdoc +13 -3
- data/VERSION +1 -1
- data/funtimes.gemspec +2 -2
- data/lib/quarter.rb +5 -4
- data/spec/quarter_spec.rb +10 -1
- metadata +3 -3
data/README.rdoc
CHANGED
@@ -1,10 +1,20 @@
|
|
1
1
|
= funtimes
|
2
2
|
|
3
|
-
|
3
|
+
Funtimes is a library for working with months, quarters and date ranges in Ruby.
|
4
4
|
|
5
|
-
|
5
|
+
== Installation
|
6
6
|
|
7
|
-
|
7
|
+
$ gem install funtimes
|
8
|
+
|
9
|
+
== Usage
|
10
|
+
|
11
|
+
Include DateRange in any class that has a start_date and end_date and you'll now have access to months, quarters, days and the be able to find intersections of date ranges.
|
12
|
+
|
13
|
+
Date Range Specs: http://github.com/ignu/fun-times/blob/master/spec/date_range_spec.rb
|
14
|
+
|
15
|
+
Month Specs http://github.com/ignu/fun-times/blob/master/spec/month_spec.rb
|
16
|
+
|
17
|
+
Quarter Specs http://github.com/ignu/fun-times/blob/master/spec/quarter_spec.rb
|
8
18
|
|
9
19
|
== Copyright
|
10
20
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.1
|
data/funtimes.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{funtimes}
|
8
|
-
s.version = "0.1.
|
8
|
+
s.version = "0.1.1"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Len Smith"]
|
12
|
-
s.date = %q{2010-07-
|
12
|
+
s.date = %q{2010-07-06}
|
13
13
|
s.description = %q{Manage date ranges, months and quarters}
|
14
14
|
s.email = %q{ignu.smith@gmail.com}
|
15
15
|
s.extra_rdoc_files = [
|
data/lib/quarter.rb
CHANGED
@@ -1,17 +1,18 @@
|
|
1
1
|
class Quarter
|
2
2
|
include DateRange
|
3
3
|
attr_accessor :number, :year, :start_date, :end_date
|
4
|
+
@@months = [1, 4, 7, 10]
|
4
5
|
|
5
6
|
def initialize(q,y)
|
6
|
-
months = [1, 4, 7, 10]
|
7
7
|
@number, @year = q, y
|
8
|
-
@start_date = DateTime.new(y, months[q-1], 1)
|
9
|
-
@end_date = DateTime.new(y, months[q], 1) - 1 unless q == 4
|
8
|
+
@start_date = DateTime.new(y, @@months[q-1], 1)
|
9
|
+
@end_date = DateTime.new(y, @@months[q], 1) - 1 unless q == 4
|
10
10
|
@end_date = DateTime.new(y+1, 1, 1) - 1 if q == 4
|
11
11
|
end
|
12
12
|
|
13
13
|
def self.from(date)
|
14
|
-
|
14
|
+
number = @@months.index(@@months.reverse.detect{|i| i <= date.month}) + 1
|
15
|
+
new(number, date.year)
|
15
16
|
end
|
16
17
|
|
17
18
|
def succ
|
data/spec/quarter_spec.rb
CHANGED
@@ -16,6 +16,10 @@ describe "Quarter" do
|
|
16
16
|
it "can initialize from any date" do
|
17
17
|
quarter = Quarter.from(DateTime.new(2009, 2, 1))
|
18
18
|
quarter.year.should == 2009
|
19
|
+
quarter.number.should == 1
|
20
|
+
quarter = Quarter.from(DateTime.new(2009, 7, 15))
|
21
|
+
quarter.year.should == 2009
|
22
|
+
quarter.number.should == 3
|
19
23
|
end
|
20
24
|
|
21
25
|
it "sets the start date correctly" do
|
@@ -41,5 +45,10 @@ describe "Quarter" do
|
|
41
45
|
|
42
46
|
it "is a daterange" do
|
43
47
|
q1.months.to_a.length.should == 3
|
44
|
-
end
|
48
|
+
end
|
49
|
+
|
50
|
+
it "can calculate the number of quarters in a daterange correctly" do
|
51
|
+
range = SimpleRange.new(DateTime.new(2009, 1, 1), DateTime.new(2009, 7, 15))
|
52
|
+
range.quarters.to_a.length.should == 3
|
53
|
+
end
|
45
54
|
end
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 1
|
8
|
-
-
|
9
|
-
version: 0.1.
|
8
|
+
- 1
|
9
|
+
version: 0.1.1
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Len Smith
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2010-07-
|
17
|
+
date: 2010-07-06 00:00:00 -04:00
|
18
18
|
default_executable:
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|