rrule 0.0.0 → 0.1.0
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.
- checksums.yaml +4 -4
- data/.gitignore +4 -0
- data/.travis.yml +3 -0
- data/CHANGELOG.md +7 -0
- data/CONTRIBUTING.md +17 -0
- data/Gemfile +5 -0
- data/LICENSE.txt +202 -0
- data/README.md +71 -0
- data/Rakefile +30 -0
- data/lib/rrule.rb +26 -4
- data/lib/rrule/context.rb +137 -0
- data/lib/rrule/filters/by_month.rb +16 -0
- data/lib/rrule/filters/by_month_day.rb +16 -0
- data/lib/rrule/filters/by_week_day.rb +24 -0
- data/lib/rrule/filters/by_week_number.rb +16 -0
- data/lib/rrule/filters/by_year_day.rb +18 -0
- data/lib/rrule/frequencies/daily.rb +13 -0
- data/lib/rrule/frequencies/frequency.rb +34 -0
- data/lib/rrule/frequencies/monthly.rb +14 -0
- data/lib/rrule/frequencies/weekly.rb +29 -0
- data/lib/rrule/frequencies/yearly.rb +14 -0
- data/lib/rrule/generators/all_occurrences.rb +26 -0
- data/lib/rrule/generators/by_set_position.rb +35 -0
- data/lib/rrule/rule.rb +181 -0
- data/lib/rrule/weekday.rb +17 -0
- data/rrule.gemspec +20 -0
- data/spec/context_spec.rb +261 -0
- data/spec/filters/by_month_day_spec.rb +35 -0
- data/spec/filters/by_month_spec.rb +35 -0
- data/spec/filters/by_week_day_spec.rb +35 -0
- data/spec/filters/by_week_number_spec.rb +41 -0
- data/spec/filters/by_year_day_spec.rb +35 -0
- data/spec/frequencies/daily_spec.rb +55 -0
- data/spec/frequencies/monthly_spec.rb +57 -0
- data/spec/frequencies/weekly_spec.rb +57 -0
- data/spec/frequencies/yearly_spec.rb +52 -0
- data/spec/generators/all_occurrences_spec.rb +44 -0
- data/spec/generators/by_set_position_spec.rb +39 -0
- data/spec/rule_spec.rb +1988 -0
- data/spec/spec_helper.rb +21 -0
- data/spec/weekday_spec.rb +34 -0
- metadata +88 -8
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
require 'rrule'
|
2
|
+
|
3
|
+
RSpec.configure do |config|
|
4
|
+
config.expect_with :rspec do |expectations|
|
5
|
+
# This option will default to `true` in RSpec 4. It makes the `description`
|
6
|
+
# and `failure_message` of custom matchers include text for helper methods
|
7
|
+
# defined using `chain`, e.g.:
|
8
|
+
# be_bigger_than(2).and_smaller_than(4).description
|
9
|
+
# # => "be bigger than 2 and smaller than 4"
|
10
|
+
# ...rather than:
|
11
|
+
# # => "be bigger than 2"
|
12
|
+
expectations.include_chain_clauses_in_custom_matcher_descriptions = true
|
13
|
+
end
|
14
|
+
|
15
|
+
config.mock_with :rspec do |mocks|
|
16
|
+
# Prevents you from mocking or stubbing a method that does not exist on
|
17
|
+
# a real object. This is generally recommended, and will default to
|
18
|
+
# `true` in RSpec 4.
|
19
|
+
mocks.verify_partial_doubles = true
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe RRule::Weekday do
|
4
|
+
describe '.parse' do
|
5
|
+
subject(:weekday) { described_class.parse(weekday_string) }
|
6
|
+
|
7
|
+
context 'with an explicit + for the ordinal' do
|
8
|
+
let(:weekday_string) { '+2SU' }
|
9
|
+
|
10
|
+
it 'parses correctly' do
|
11
|
+
expect(weekday.ordinal).to eql 2
|
12
|
+
expect(weekday.index).to eql 0
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
context 'with an implied + for the ordinal' do
|
17
|
+
let(:weekday_string) { '2SU' }
|
18
|
+
|
19
|
+
it 'parses correctly' do
|
20
|
+
expect(weekday.ordinal).to eql 2
|
21
|
+
expect(weekday.index).to eql 0
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
context 'with a negative ordinal' do
|
26
|
+
let(:weekday_string) { '-3TU' }
|
27
|
+
|
28
|
+
it 'parses correctly' do
|
29
|
+
expect(weekday.ordinal).to eql -3
|
30
|
+
expect(weekday.index).to eql 2
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rrule
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ryan Mitchell
|
@@ -9,17 +9,83 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
date: 2016-06-06 00:00:00.000000000 Z
|
12
|
-
dependencies:
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: activesupport
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '4.1'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '4.1'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rspec
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '3.4'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '3.4'
|
13
41
|
description: A gem for expanding dates according to the RRule specification
|
14
42
|
email: rmitchell@squareup.com
|
15
43
|
executables: []
|
16
44
|
extensions: []
|
17
45
|
extra_rdoc_files: []
|
18
46
|
files:
|
47
|
+
- ".gitignore"
|
48
|
+
- ".travis.yml"
|
49
|
+
- CHANGELOG.md
|
50
|
+
- CONTRIBUTING.md
|
51
|
+
- Gemfile
|
52
|
+
- LICENSE.txt
|
53
|
+
- README.md
|
54
|
+
- Rakefile
|
19
55
|
- lib/rrule.rb
|
56
|
+
- lib/rrule/context.rb
|
57
|
+
- lib/rrule/filters/by_month.rb
|
58
|
+
- lib/rrule/filters/by_month_day.rb
|
59
|
+
- lib/rrule/filters/by_week_day.rb
|
60
|
+
- lib/rrule/filters/by_week_number.rb
|
61
|
+
- lib/rrule/filters/by_year_day.rb
|
62
|
+
- lib/rrule/frequencies/daily.rb
|
63
|
+
- lib/rrule/frequencies/frequency.rb
|
64
|
+
- lib/rrule/frequencies/monthly.rb
|
65
|
+
- lib/rrule/frequencies/weekly.rb
|
66
|
+
- lib/rrule/frequencies/yearly.rb
|
67
|
+
- lib/rrule/generators/all_occurrences.rb
|
68
|
+
- lib/rrule/generators/by_set_position.rb
|
69
|
+
- lib/rrule/rule.rb
|
70
|
+
- lib/rrule/weekday.rb
|
71
|
+
- rrule.gemspec
|
72
|
+
- spec/context_spec.rb
|
73
|
+
- spec/filters/by_month_day_spec.rb
|
74
|
+
- spec/filters/by_month_spec.rb
|
75
|
+
- spec/filters/by_week_day_spec.rb
|
76
|
+
- spec/filters/by_week_number_spec.rb
|
77
|
+
- spec/filters/by_year_day_spec.rb
|
78
|
+
- spec/frequencies/daily_spec.rb
|
79
|
+
- spec/frequencies/monthly_spec.rb
|
80
|
+
- spec/frequencies/weekly_spec.rb
|
81
|
+
- spec/frequencies/yearly_spec.rb
|
82
|
+
- spec/generators/all_occurrences_spec.rb
|
83
|
+
- spec/generators/by_set_position_spec.rb
|
84
|
+
- spec/rule_spec.rb
|
85
|
+
- spec/spec_helper.rb
|
86
|
+
- spec/weekday_spec.rb
|
20
87
|
homepage: http://rubygems.org/gems/rrule
|
21
|
-
licenses:
|
22
|
-
- MIT
|
88
|
+
licenses: []
|
23
89
|
metadata: {}
|
24
90
|
post_install_message:
|
25
91
|
rdoc_options: []
|
@@ -29,7 +95,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
29
95
|
requirements:
|
30
96
|
- - ">="
|
31
97
|
- !ruby/object:Gem::Version
|
32
|
-
version:
|
98
|
+
version: 1.9.2
|
33
99
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
34
100
|
requirements:
|
35
101
|
- - ">="
|
@@ -37,9 +103,23 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
37
103
|
version: '0'
|
38
104
|
requirements: []
|
39
105
|
rubyforge_project:
|
40
|
-
rubygems_version: 2.
|
106
|
+
rubygems_version: 2.6.11
|
41
107
|
signing_key:
|
42
108
|
specification_version: 4
|
43
109
|
summary: RRule expansion
|
44
|
-
test_files:
|
45
|
-
|
110
|
+
test_files:
|
111
|
+
- spec/context_spec.rb
|
112
|
+
- spec/filters/by_month_day_spec.rb
|
113
|
+
- spec/filters/by_month_spec.rb
|
114
|
+
- spec/filters/by_week_day_spec.rb
|
115
|
+
- spec/filters/by_week_number_spec.rb
|
116
|
+
- spec/filters/by_year_day_spec.rb
|
117
|
+
- spec/frequencies/daily_spec.rb
|
118
|
+
- spec/frequencies/monthly_spec.rb
|
119
|
+
- spec/frequencies/weekly_spec.rb
|
120
|
+
- spec/frequencies/yearly_spec.rb
|
121
|
+
- spec/generators/all_occurrences_spec.rb
|
122
|
+
- spec/generators/by_set_position_spec.rb
|
123
|
+
- spec/rule_spec.rb
|
124
|
+
- spec/spec_helper.rb
|
125
|
+
- spec/weekday_spec.rb
|