recurrence 1.0.2 → 1.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.
@@ -1,26 +1,30 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- recurrence (1.0.2)
4
+ recurrence (1.0.3)
5
5
  activesupport (>= 2.3.0)
6
6
 
7
7
  GEM
8
8
  remote: http://rubygems.org/
9
9
  specs:
10
- activesupport (3.0.3)
11
- diff-lcs (1.1.2)
12
- rspec (2.5.0)
13
- rspec-core (~> 2.5.0)
14
- rspec-expectations (~> 2.5.0)
15
- rspec-mocks (~> 2.5.0)
16
- rspec-core (2.5.1)
17
- rspec-expectations (2.5.0)
10
+ activesupport (3.1.1)
11
+ multi_json (~> 1.0)
12
+ diff-lcs (1.1.3)
13
+ multi_json (1.0.3)
14
+ rake (0.9.2.2)
15
+ rspec (2.6.0)
16
+ rspec-core (~> 2.6.0)
17
+ rspec-expectations (~> 2.6.0)
18
+ rspec-mocks (~> 2.6.0)
19
+ rspec-core (2.6.4)
20
+ rspec-expectations (2.6.0)
18
21
  diff-lcs (~> 1.1.2)
19
- rspec-mocks (2.5.0)
22
+ rspec-mocks (2.6.0)
20
23
 
21
24
  PLATFORMS
22
25
  ruby
23
26
 
24
27
  DEPENDENCIES
28
+ rake
25
29
  recurrence!
26
- rspec (~> 2.5.0)
30
+ rspec (~> 2.6)
@@ -81,3 +81,7 @@
81
81
  == 1.0.2 2011-02-09
82
82
 
83
83
  * Added Ruby 1.8 support
84
+
85
+ == 1.0.3 2011-19-14
86
+
87
+ * Added support for default ending date through Recurrence.default_until_date
@@ -14,6 +14,15 @@ module SimplesIdeias
14
14
  FREQUENCY = %w(day week month year)
15
15
 
16
16
  attr_reader :event, :options
17
+
18
+ def self.as_date(date) # :nodoc:
19
+ case date
20
+ when String
21
+ Date.parse(date)
22
+ else
23
+ date
24
+ end
25
+ end
17
26
 
18
27
  # Return the default starting date.
19
28
  #
@@ -291,12 +300,7 @@ module SimplesIdeias
291
300
  end
292
301
 
293
302
  def as_date(date) # :nodoc:
294
- case date
295
- when String
296
- Date.parse(date)
297
- else
298
- date
299
- end
303
+ self.class.as_date(date)
300
304
  end
301
305
  end
302
306
  end
@@ -3,7 +3,7 @@ module SimplesIdeias
3
3
  module Version
4
4
  MAJOR = 1
5
5
  MINOR = 0
6
- PATCH = 2
6
+ PATCH = 3
7
7
  STRING = "#{MAJOR}.#{MINOR}.#{PATCH}"
8
8
  end
9
9
  end
@@ -18,5 +18,6 @@ Gem::Specification.new do |s|
18
18
  s.require_paths = ["lib"]
19
19
 
20
20
  s.add_dependency "activesupport", ">= 2.3.0"
21
- s.add_development_dependency "rspec", "~> 2.5.0"
21
+ s.add_development_dependency "rspec", "~> 2.6"
22
+ s.add_development_dependency "rake"
22
23
  end
@@ -94,6 +94,51 @@ describe Recurrence do
94
94
  end
95
95
  end
96
96
  end
97
+
98
+ describe ".default_until_date" do
99
+ after(:each){ Recurrence.default_until_date = Date.new(2037, 12, 31)}
100
+
101
+ it "should return 2037-12-31 by default" do
102
+ Recurrence.default_until_date.should == Date.new(2037, 12, 31)
103
+ end
104
+
105
+ it "should return new until when changed" do
106
+ Recurrence.default_until_date = Date.new(2057, 12, 31)
107
+ Recurrence.default_until_date.should == Date.new(2057, 12, 31)
108
+ end
109
+
110
+ it "should alter event end with new default until" do
111
+ @recurrence = Recurrence.daily
112
+ @recurrence.events[-1].should == Date.parse("2037-12-31")
113
+
114
+ Recurrence.default_until_date = Date.new(2057, 12, 31)
115
+
116
+ @recurrence = Recurrence.daily
117
+ @recurrence.events[-1].should == Date.parse("2057-12-31")
118
+ end
119
+
120
+ it "should not return any events when default until is past" do
121
+ Recurrence.default_until_date = Date.new(2007, 12, 31)
122
+ @recurrence = Recurrence.daily
123
+ @recurrence.events.length.should == 0
124
+ end
125
+
126
+ it "should allow value to be changed multiple times" do
127
+ Recurrence.default_until_date = Date.new(2057, 12, 31)
128
+ Recurrence.default_until_date.should == Date.new(2057, 12, 31)
129
+ @recurrence1 = Recurrence.monthly(:on => 2)
130
+
131
+ Recurrence.default_until_date = Date.new(2187, 12, 31)
132
+ Recurrence.default_until_date.should == Date.new(2187, 12, 31)
133
+ @recurrence2 = Recurrence.monthly(:on => 2)
134
+ @recurrence2.events.length.should == @recurrence1.events.length + 130 * 12
135
+
136
+ Recurrence.default_until_date = Date.new(2257, 12, 31)
137
+ Recurrence.default_until_date.should == Date.new(2257, 12, 31)
138
+ @recurrence3 = Recurrence.monthly(:on => 2)
139
+ @recurrence3.events.length.should == @recurrence2.events.length + 70 * 12
140
+ end
141
+ end
97
142
 
98
143
  context "with daily recurring" do
99
144
  it "should recur until limit date" do
metadata CHANGED
@@ -1,50 +1,56 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: recurrence
3
- version: !ruby/object:Gem::Version
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.3
4
5
  prerelease:
5
- version: 1.0.2
6
6
  platform: ruby
7
- authors:
7
+ authors:
8
8
  - Nando Vieira
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
-
13
- date: 2011-02-09 00:00:00 -02:00
14
- default_executable:
15
- dependencies:
16
- - !ruby/object:Gem::Dependency
12
+ date: 2011-10-14 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
17
15
  name: activesupport
18
- prerelease: false
19
- requirement: &id001 !ruby/object:Gem::Requirement
16
+ requirement: &70267646596360 !ruby/object:Gem::Requirement
20
17
  none: false
21
- requirements:
22
- - - ">="
23
- - !ruby/object:Gem::Version
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
24
21
  version: 2.3.0
25
22
  type: :runtime
26
- version_requirements: *id001
27
- - !ruby/object:Gem::Dependency
28
- name: rspec
29
23
  prerelease: false
30
- requirement: &id002 !ruby/object:Gem::Requirement
24
+ version_requirements: *70267646596360
25
+ - !ruby/object:Gem::Dependency
26
+ name: rspec
27
+ requirement: &70267646595780 !ruby/object:Gem::Requirement
31
28
  none: false
32
- requirements:
29
+ requirements:
33
30
  - - ~>
34
- - !ruby/object:Gem::Version
35
- version: 2.5.0
31
+ - !ruby/object:Gem::Version
32
+ version: '2.6'
36
33
  type: :development
37
- version_requirements: *id002
34
+ prerelease: false
35
+ version_requirements: *70267646595780
36
+ - !ruby/object:Gem::Dependency
37
+ name: rake
38
+ requirement: &70267646595300 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ! '>='
42
+ - !ruby/object:Gem::Version
43
+ version: '0'
44
+ type: :development
45
+ prerelease: false
46
+ version_requirements: *70267646595300
38
47
  description: A simple library to handle recurring events
39
- email:
48
+ email:
40
49
  - fnando.vieira@gmail.com
41
50
  executables: []
42
-
43
51
  extensions: []
44
-
45
52
  extra_rdoc_files: []
46
-
47
- files:
53
+ files:
48
54
  - .gitignore
49
55
  - .rspec
50
56
  - .rvmrc
@@ -66,34 +72,36 @@ files:
66
72
  - recurrence.gemspec
67
73
  - spec/recurrence_spec.rb
68
74
  - spec/spec_helper.rb
69
- has_rdoc: true
70
75
  homepage: http://rubygems.org/gems/recurrence
71
76
  licenses: []
72
-
73
77
  post_install_message:
74
78
  rdoc_options: []
75
-
76
- require_paths:
79
+ require_paths:
77
80
  - lib
78
- required_ruby_version: !ruby/object:Gem::Requirement
81
+ required_ruby_version: !ruby/object:Gem::Requirement
79
82
  none: false
80
- requirements:
81
- - - ">="
82
- - !ruby/object:Gem::Version
83
- version: "0"
84
- required_rubygems_version: !ruby/object:Gem::Requirement
83
+ requirements:
84
+ - - ! '>='
85
+ - !ruby/object:Gem::Version
86
+ version: '0'
87
+ segments:
88
+ - 0
89
+ hash: -4581356905210184239
90
+ required_rubygems_version: !ruby/object:Gem::Requirement
85
91
  none: false
86
- requirements:
87
- - - ">="
88
- - !ruby/object:Gem::Version
89
- version: "0"
92
+ requirements:
93
+ - - ! '>='
94
+ - !ruby/object:Gem::Version
95
+ version: '0'
96
+ segments:
97
+ - 0
98
+ hash: -4581356905210184239
90
99
  requirements: []
91
-
92
100
  rubyforge_project:
93
- rubygems_version: 1.5.0
101
+ rubygems_version: 1.8.10
94
102
  signing_key:
95
103
  specification_version: 3
96
104
  summary: A simple library to handle recurring events
97
- test_files:
105
+ test_files:
98
106
  - spec/recurrence_spec.rb
99
107
  - spec/spec_helper.rb