icalendar-recurrence 0.0.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.
Files changed (36) hide show
  1. data/.gitignore +17 -0
  2. data/.rspec +3 -0
  3. data/.travis.yml +6 -0
  4. data/Gemfile +3 -0
  5. data/Guardfile +5 -0
  6. data/LICENSE.txt +22 -0
  7. data/README.md +86 -0
  8. data/Rakefile +6 -0
  9. data/icalendar-recurrence.gemspec +31 -0
  10. data/lib/icalendar-recurrence.rb +1 -0
  11. data/lib/icalendar/recurrence.rb +12 -0
  12. data/lib/icalendar/recurrence/event_extensions.rb +36 -0
  13. data/lib/icalendar/recurrence/schedule.rb +148 -0
  14. data/lib/icalendar/recurrence/time_util.rb +94 -0
  15. data/lib/icalendar/recurrence/version.rb +5 -0
  16. data/lib/icalendar/recurrence/weekday_extensions.rb +13 -0
  17. data/spec/lib/recurrence_spec.rb +154 -0
  18. data/spec/lib/schedule_spec.rb +52 -0
  19. data/spec/lib/time_util_spec.rb +137 -0
  20. data/spec/spec_helper.rb +14 -0
  21. data/spec/support/fixtures/daily_event.ics +30 -0
  22. data/spec/support/fixtures/embedded_timezone_event.ics +36 -0
  23. data/spec/support/fixtures/every_monday_event.ics +28 -0
  24. data/spec/support/fixtures/every_other_day_event.ics +29 -0
  25. data/spec/support/fixtures/every_weekday_daily_event.ics +26 -0
  26. data/spec/support/fixtures/everyday_for_four_days_event.ics +23 -0
  27. data/spec/support/fixtures/first_of_every_year_event.ics +31 -0
  28. data/spec/support/fixtures/first_saturday_of_month_event.ics +49 -0
  29. data/spec/support/fixtures/first_sunday_of_january_yearly_event.ics +26 -0
  30. data/spec/support/fixtures/monday_until_friday_event.ics +23 -0
  31. data/spec/support/fixtures/multi_day_weekly_event.ics +45 -0
  32. data/spec/support/fixtures/on_third_every_two_months_event.ics +28 -0
  33. data/spec/support/fixtures/one_day_a_month_for_three_months_event.ics +29 -0
  34. data/spec/support/fixtures/utc_event.ics +28 -0
  35. data/spec/support/helpers.rb +14 -0
  36. metadata +266 -0
@@ -0,0 +1,28 @@
1
+ BEGIN:VCALENDAR
2
+ X-WR-CALNAME:Test Public
3
+ X-WR-CALID:f512e378-050c-4366-809a-ef471ce45b09:101165
4
+ PRODID:Zimbra-Calendar-Provider
5
+ VERSION:2.0
6
+ METHOD:PUBLISH
7
+ BEGIN:VEVENT
8
+ UID:b1e0c7e7-4cd7-4780-a5ed-150e98ba11d3
9
+ RRULE:FREQ=WEEKLY;INTERVAL=1;BYDAY=MO
10
+ SUMMARY:Weekly event
11
+ X-ALT-DESC;FMTTYPE=text/html:<html><body></body></html>
12
+ ORGANIZER;CN=Jordan Raine:mailto:foo@sfu.ca
13
+ DTSTART;TZID="America/Los_Angeles":20140203T160000
14
+ DTEND;TZID="America/Los_Angeles":20140203T163000
15
+ STATUS:CONFIRMED
16
+ CLASS:PUBLIC
17
+ X-MICROSOFT-CDO-INTENDEDSTATUS:BUSY
18
+ TRANSP:OPAQUE
19
+ LAST-MODIFIED:20140113T234836Z
20
+ DTSTAMP:20140113T234836Z
21
+ SEQUENCE:0
22
+ BEGIN:VALARM
23
+ ACTION:DISPLAY
24
+ TRIGGER;RELATED=START:-PT5M
25
+ DESCRIPTION:Reminder
26
+ END:VALARM
27
+ END:VEVENT
28
+ END:VCALENDAR
@@ -0,0 +1,29 @@
1
+ BEGIN:VCALENDAR
2
+ X-WR-CALNAME:Test Public
3
+ X-WR-CALID:f512e378-050c-4366-809a-ef471ce45b09:101165
4
+ PRODID:Zimbra-Calendar-Provider
5
+ VERSION:2.0
6
+ METHOD:PUBLISH
7
+ BEGIN:VEVENT
8
+ UID:efcb99ae-d540-419c-91fa-42cc2bd9d302
9
+ RRULE:FREQ=DAILY;INTERVAL=2
10
+ SUMMARY:Every other day
11
+ X-ALT-DESC;FMTTYPE=text/html:<html><body></body></html>
12
+ ORGANIZER;CN=Jordan Raine:mailto:foo@example.com
13
+ DTSTART;VALUE=DATE:20140127
14
+ DTEND;VALUE=DATE:20140128
15
+ STATUS:CONFIRMED
16
+ CLASS:PUBLIC
17
+ X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
18
+ X-MICROSOFT-CDO-INTENDEDSTATUS:FREE
19
+ TRANSP:TRANSPARENT
20
+ LAST-MODIFIED:20140113T200625Z
21
+ DTSTAMP:20140113T200625Z
22
+ SEQUENCE:0
23
+ BEGIN:VALARM
24
+ ACTION:DISPLAY
25
+ TRIGGER;RELATED=START:-PT5M
26
+ DESCRIPTION:Reminder
27
+ END:VALARM
28
+ END:VEVENT
29
+ END:VCALENDAR
@@ -0,0 +1,26 @@
1
+ BEGIN:VCALENDAR
2
+ X-WR-CALNAME:Test Public
3
+ X-WR-CALID:f512e378-050c-4366-809a-ef471ce45b09:296763
4
+ PRODID:Zimbra-Calendar-Provider
5
+ VERSION:2.0
6
+ METHOD:PUBLISH
7
+ BEGIN:VEVENT
8
+ UID:34d4e9a8-b9dd-48c0-b69d-adc5882b6419
9
+ RRULE:FREQ=DAILY;INTERVAL=1;BYDAY=MO,TU,WE,TH,FR
10
+ SUMMARY:Every week day
11
+ DESCRIPTION:An example of "every week day" daily recurrence.
12
+ X-ALT-DESC;FMTTYPE=text/html:<html><body>An example of "every week day" dail
13
+ y recurrence. </body></html>
14
+ ORGANIZER;CN=Jordan Raine:mailto:jraine@sfu.ca
15
+ DTSTART;VALUE=DATE:20140106
16
+ DTEND;VALUE=DATE:20140107
17
+ STATUS:CONFIRMED
18
+ CLASS:PUBLIC
19
+ X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
20
+ X-MICROSOFT-CDO-INTENDEDSTATUS:FREE
21
+ TRANSP:TRANSPARENT
22
+ LAST-MODIFIED:20140115T000958Z
23
+ DTSTAMP:20140115T000958Z
24
+ SEQUENCE:2
25
+ END:VEVENT
26
+ END:VCALENDAR
@@ -0,0 +1,23 @@
1
+ BEGIN:VCALENDAR
2
+ X-WR-CALNAME:Example Calendar
3
+ X-WR-CALID:f512e378-050c-4366-809a-ef471ce45b09:297138
4
+ PRODID:Zimbra-Calendar-Provider
5
+ VERSION:2.0
6
+ METHOD:PUBLISH
7
+ BEGIN:VEVENT
8
+ UID:28aad2ac-af09-44d0-b07d-6f49177c086f
9
+ RRULE:FREQ=DAILY;COUNT=4;INTERVAL=1
10
+ SUMMARY:All week\, then done
11
+ X-ALT-DESC;FMTTYPE=text/html:<html><body></body></html>
12
+ ORGANIZER;CN=Jordan Raine:mailto:jraine@sfu.ca
13
+ DTSTART;TZID="America/Los_Angeles":20140113T120000
14
+ DTEND;TZID="America/Los_Angeles":20140113T123000
15
+ STATUS:CONFIRMED
16
+ CLASS:PUBLIC
17
+ X-MICROSOFT-CDO-INTENDEDSTATUS:BUSY
18
+ TRANSP:OPAQUE
19
+ LAST-MODIFIED:20140117T200925Z
20
+ DTSTAMP:20140117T200925Z
21
+ SEQUENCE:1
22
+ END:VEVENT
23
+ END:VCALENDAR
@@ -0,0 +1,31 @@
1
+ BEGIN:VCALENDAR
2
+ X-WR-CALNAME:Test Public
3
+ X-WR-CALID:f512e378-050c-4366-809a-ef471ce45b09:296763
4
+ PRODID:Zimbra-Calendar-Provider
5
+ VERSION:2.0
6
+ METHOD:PUBLISH
7
+ BEGIN:VEVENT
8
+ UID:34d4e9a8-b9dd-48c0-b69d-adc5882b6419
9
+ RRULE:FREQ=YEARLY;INTERVAL=1;BYMONTHDAY=1;BYMONTH=1
10
+ SUMMARY:New Years Day
11
+ DESCRIPTION:An example of yearly recurrence.
12
+ X-ALT-DESC;FMTTYPE=text/html:<html><body>An example of yearly recurrence.</b
13
+ ody></html>
14
+ ORGANIZER;CN=Jordan Raine:mailto:foo@example.com
15
+ DTSTART;VALUE=DATE:20140101
16
+ DTEND;VALUE=DATE:20140102
17
+ STATUS:CONFIRMED
18
+ CLASS:PUBLIC
19
+ X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
20
+ X-MICROSOFT-CDO-INTENDEDSTATUS:FREE
21
+ TRANSP:TRANSPARENT
22
+ LAST-MODIFIED:20140115T000152Z
23
+ DTSTAMP:20140115T000152Z
24
+ SEQUENCE:0
25
+ BEGIN:VALARM
26
+ ACTION:DISPLAY
27
+ TRIGGER;RELATED=START:-PT5M
28
+ DESCRIPTION:Reminder
29
+ END:VALARM
30
+ END:VEVENT
31
+ END:VCALENDAR
@@ -0,0 +1,49 @@
1
+ BEGIN:VCALENDAR
2
+ X-WR-CALNAME:Scheduled Maintenance
3
+ X-WR-CALID:733c049c-f30e-43dc-979b-447fcdd1978c:257
4
+ PRODID:Zimbra-Calendar-Provider
5
+ VERSION:2.0
6
+ METHOD:PUBLISH
7
+ BEGIN:VTIMEZONE
8
+ TZID:America/Los_Angeles
9
+ BEGIN:STANDARD
10
+ DTSTART:19710101T020000
11
+ TZOFFSETTO:-0800
12
+ TZOFFSETFROM:-0700
13
+ RRULE:FREQ=YEARLY;WKST=MO;INTERVAL=1;BYMONTH=11;BYDAY=1SU
14
+ TZNAME:PST
15
+ END:STANDARD
16
+ BEGIN:DAYLIGHT
17
+ DTSTART:19710101T020000
18
+ TZOFFSETTO:-0700
19
+ TZOFFSETFROM:-0800
20
+ RRULE:FREQ=YEARLY;WKST=MO;INTERVAL=1;BYMONTH=3;BYDAY=2SU
21
+ TZNAME:PDT
22
+ END:DAYLIGHT
23
+ END:VTIMEZONE
24
+ BEGIN:VEVENT
25
+ UID:d317c7c7-a6cc-4a85-baed-1542a336899d
26
+ RRULE:FREQ=MONTHLY;INTERVAL=1;BYDAY=1SA
27
+ SUMMARY:Email/SFU Connect
28
+ DESCRIPTION:\nScheduled maintenance \n
29
+ X-MS-OLK-SENDER:mailto:foo@example.ca
30
+ ORGANIZER;SENT-BY="mailto:foo@example.ca":mailto:itadmin@example.ca
31
+ X-MS-OLK-SENDER:mailto:foo@example.ca
32
+ DTSTART;TZID="America/Los_Angeles":20140104T000000
33
+ DTEND;TZID="America/Los_Angeles":20140104T040000
34
+ STATUS:CONFIRMED
35
+ CLASS:PUBLIC
36
+ X-MICROSOFT-CDO-INTENDEDSTATUS:BUSY
37
+ TRANSP:OPAQUE
38
+ LAST-MODIFIED:20110514T001357Z
39
+ DTSTAMP:20140104T075122Z
40
+ SEQUENCE:1
41
+ BEGIN:VALARM
42
+ ACTION:AUDIO
43
+ TRIGGER:-PT15M
44
+ ATTACH:Basso
45
+ X-WR-ALARMUID:CCA9E2C0-F9BF-40AD-B994-36E5217DF84B
46
+ X-APPLE-DEFAULT-ALARM:TRUE
47
+ END:VALARM
48
+ END:VEVENT
49
+ END:VCALENDAR
@@ -0,0 +1,26 @@
1
+ BEGIN:VCALENDAR
2
+ X-WR-CALNAME:Test Public
3
+ X-WR-CALID:f512e378-050c-4366-809a-ef471ce45b09:296763
4
+ PRODID:Zimbra-Calendar-Provider
5
+ VERSION:2.0
6
+ METHOD:PUBLISH
7
+ BEGIN:VEVENT
8
+ UID:34d4e9a8-b9dd-48c0-b69d-adc5882b6419
9
+ RRULE:FREQ=YEARLY;INTERVAL=1;BYDAY=SU;BYMONTH=1;BYSETPOS=1
10
+ SUMMARY:First sunday of january
11
+ DESCRIPTION:An example of a complex yearly
12
+ X-ALT-DESC;FMTTYPE=text/html:<html><body>An example of yearly recurrence. </
13
+ body></html>
14
+ ORGANIZER;CN=Jordan Raine:mailto:jraine@sfu.ca
15
+ DTSTART;VALUE=DATE:20140105
16
+ DTEND;VALUE=DATE:20140106
17
+ STATUS:CONFIRMED
18
+ CLASS:PUBLIC
19
+ X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
20
+ X-MICROSOFT-CDO-INTENDEDSTATUS:FREE
21
+ TRANSP:TRANSPARENT
22
+ LAST-MODIFIED:20140115T000733Z
23
+ DTSTAMP:20140115T000733Z
24
+ SEQUENCE:1
25
+ END:VEVENT
26
+ END:VCALENDAR
@@ -0,0 +1,23 @@
1
+ BEGIN:VCALENDAR
2
+ X-WR-CALNAME:Example Calendar
3
+ X-WR-CALID:f512e378-050c-4366-809a-ef471ce45b09:297138
4
+ PRODID:Zimbra-Calendar-Provider
5
+ VERSION:2.0
6
+ METHOD:PUBLISH
7
+ BEGIN:VEVENT
8
+ UID:28aad2ac-af09-44d0-b07d-6f49177c086f
9
+ RRULE:FREQ=DAILY;UNTIL=20140118T075959Z;INTERVAL=1
10
+ SUMMARY:All week\, then done
11
+ X-ALT-DESC;FMTTYPE=text/html:<html><body></body></html>
12
+ ORGANIZER;CN=Jordan Raine:mailto:jraine@sfu.ca
13
+ DTSTART;TZID="America/Los_Angeles":20140113T120000
14
+ DTEND;TZID="America/Los_Angeles":20140113T123000
15
+ STATUS:CONFIRMED
16
+ CLASS:PUBLIC
17
+ X-MICROSOFT-CDO-INTENDEDSTATUS:BUSY
18
+ TRANSP:OPAQUE
19
+ LAST-MODIFIED:20140117T200033Z
20
+ DTSTAMP:20140117T200033Z
21
+ SEQUENCE:0
22
+ END:VEVENT
23
+ END:VCALENDAR
@@ -0,0 +1,45 @@
1
+ BEGIN:VCALENDAR
2
+ X-WR-CALNAME:Test Public
3
+ X-WR-CALID:f512e378-050c-4366-809a-ef471ce45b09:101165
4
+ PRODID:Zimbra-Calendar-Provider
5
+ VERSION:2.0
6
+ METHOD:PUBLISH
7
+ BEGIN:VTIMEZONE
8
+ TZID:America/Los_Angeles
9
+ BEGIN:STANDARD
10
+ DTSTART:19710101T020000
11
+ TZOFFSETTO:-0800
12
+ TZOFFSETFROM:-0700
13
+ RRULE:FREQ=YEARLY;WKST=MO;INTERVAL=1;BYMONTH=11;BYDAY=1SU
14
+ TZNAME:PST
15
+ END:STANDARD
16
+ BEGIN:DAYLIGHT
17
+ DTSTART:19710101T020000
18
+ TZOFFSETTO:-0700
19
+ TZOFFSETFROM:-0800
20
+ RRULE:FREQ=YEARLY;WKST=MO;INTERVAL=1;BYMONTH=3;BYDAY=2SU
21
+ TZNAME:PDT
22
+ END:DAYLIGHT
23
+ END:VTIMEZONE
24
+ BEGIN:VEVENT
25
+ UID:b1e0c7e7-4cd7-4780-a5ed-150e98ba11d3
26
+ RRULE:FREQ=WEEKLY;INTERVAL=2;BYDAY=MO,WE,FR
27
+ SUMMARY:Multi day weekly event
28
+ X-ALT-DESC;FMTTYPE=text/html:<html><body></body></html>
29
+ ORGANIZER;CN=Jordan Raine:mailto:jraine@sfu.ca
30
+ DTSTART;TZID="America/Los_Angeles":20140203T160000
31
+ DTEND;TZID="America/Los_Angeles":20140203T163000
32
+ STATUS:CONFIRMED
33
+ CLASS:PUBLIC
34
+ X-MICROSOFT-CDO-INTENDEDSTATUS:BUSY
35
+ TRANSP:OPAQUE
36
+ LAST-MODIFIED:20140114T005106Z
37
+ DTSTAMP:20140114T005106Z
38
+ SEQUENCE:1
39
+ BEGIN:VALARM
40
+ ACTION:DISPLAY
41
+ TRIGGER;RELATED=START:-PT5M
42
+ DESCRIPTION:Reminder
43
+ END:VALARM
44
+ END:VEVENT
45
+ END:VCALENDAR
@@ -0,0 +1,28 @@
1
+ BEGIN:VCALENDAR
2
+ X-WR-CALNAME:Test Public
3
+ X-WR-CALID:f512e378-050c-4366-809a-ef471ce45b09:101165
4
+ PRODID:Zimbra-Calendar-Provider
5
+ VERSION:2.0
6
+ METHOD:PUBLISH
7
+ BEGIN:VEVENT
8
+ UID:b1e0c7e7-4cd7-4780-a5ed-150e98ba11d3
9
+ RRULE:FREQ=MONTHLY;INTERVAL=2;BYMONTHDAY=3
10
+ SUMMARY:On the third every two months
11
+ X-ALT-DESC;FMTTYPE=text/html:<html><body></body></html>
12
+ ORGANIZER;CN=Jordan Raine:mailto:jraine@sfu.ca
13
+ DTSTART;TZID="America/Los_Angeles":20140203T160000
14
+ DTEND;TZID="America/Los_Angeles":20140203T163000
15
+ STATUS:CONFIRMED
16
+ CLASS:PUBLIC
17
+ X-MICROSOFT-CDO-INTENDEDSTATUS:BUSY
18
+ TRANSP:OPAQUE
19
+ LAST-MODIFIED:20140114T005712Z
20
+ DTSTAMP:20140114T005712Z
21
+ SEQUENCE:2
22
+ BEGIN:VALARM
23
+ ACTION:DISPLAY
24
+ TRIGGER;RELATED=START:-PT5M
25
+ DESCRIPTION:Reminder
26
+ END:VALARM
27
+ END:VEVENT
28
+ END:VCALENDAR
@@ -0,0 +1,29 @@
1
+ BEGIN:VCALENDAR
2
+ X-WR-CALNAME:Example Calendar
3
+ X-WR-CALID:f512e378-050c-4366-809a-ef471ce45b09:297138
4
+ PRODID:Zimbra-Calendar-Provider
5
+ VERSION:2.0
6
+ METHOD:PUBLISH
7
+ BEGIN:VEVENT
8
+ UID:f985772c-32de-42f4-8c1a-1b762ce6e39f
9
+ RRULE:FREQ=MONTHLY;COUNT=3;INTERVAL=1;BYMONTHDAY=20
10
+ SUMMARY:20th of the month for 3 meetings
11
+ X-ALT-DESC;FMTTYPE=text/html:<html><body></body></html>
12
+ ORGANIZER;CN=Jordan Raine:mailto:jraine@sfu.ca
13
+ DTSTART;VALUE=DATE:20140120
14
+ DTEND;VALUE=DATE:20140121
15
+ STATUS:CONFIRMED
16
+ CLASS:PUBLIC
17
+ X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
18
+ X-MICROSOFT-CDO-INTENDEDSTATUS:FREE
19
+ TRANSP:TRANSPARENT
20
+ LAST-MODIFIED:20140117T230141Z
21
+ DTSTAMP:20140117T230141Z
22
+ SEQUENCE:0
23
+ BEGIN:VALARM
24
+ ACTION:DISPLAY
25
+ TRIGGER;RELATED=START:-PT5M
26
+ DESCRIPTION:Reminder
27
+ END:VALARM
28
+ END:VEVENT
29
+ END:VCALENDAR
@@ -0,0 +1,28 @@
1
+ BEGIN:VCALENDAR
2
+ X-WR-CALNAME:surrey-events
3
+ X-WR-CALID:90c57862-48ec-499e-85fe-3311ca4b517b:9400
4
+ PRODID:Zimbra-Calendar-Provider
5
+ VERSION:2.0
6
+ METHOD:PUBLISH
7
+ BEGIN:VEVENT
8
+ UID:7452e7bccc9902fdc5631aaa49fc5187--4d986de6:1436dbfab0c:-7ff9
9
+ SUMMARY:Zero Hall
10
+ DESCRIPTION: Foo bar baz
11
+ CATEGORIES:Information Sessions
12
+ X-CDAILY-CALENDARID:5
13
+ X-CDAILY-CALITEMID:13425
14
+ X-CDAILY-OWNERID:63
15
+ X-CDAILY-CONTACTNAME:Foo
16
+ X-CDAILY-CONTACTINFO:foo@sfu.ca
17
+ ORGANIZER;CN=foo:mailto:foo@sfu.ca
18
+ DTSTART:20140114T180000Z
19
+ DTEND:20140114T191500Z
20
+ STATUS:CONFIRMED
21
+ CLASS:PUBLIC
22
+ X-MICROSOFT-CDO-INTENDEDSTATUS:BUSY
23
+ TRANSP:OPAQUE
24
+ LAST-MODIFIED:20140107T231747Z
25
+ DTSTAMP:20140107T234857Z
26
+ SEQUENCE:0
27
+ END:VEVENT
28
+ END:VCALENDAR
@@ -0,0 +1,14 @@
1
+ module Helpers
2
+ def example_event(ics_name)
3
+ ics_path = File.expand_path "#{File.dirname(__FILE__)}/fixtures/#{ics_name}_event.ics"
4
+ ics_string = File.read(ics_path)
5
+ calendars = Icalendar.parse(ics_string)
6
+ Array(calendars).first.events.first
7
+ end
8
+ end
9
+
10
+ class Fixnum
11
+ def days
12
+ self*60*60*24
13
+ end
14
+ end
metadata ADDED
@@ -0,0 +1,266 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: icalendar-recurrence
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Jordan Raine
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2014-03-31 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: icalendar
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ~>
20
+ - !ruby/object:Gem::Version
21
+ version: 2.0.0.beta.1
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ version: 2.0.0.beta.1
30
+ - !ruby/object:Gem::Dependency
31
+ name: ice_cube
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ~>
36
+ - !ruby/object:Gem::Version
37
+ version: 0.11.1
38
+ type: :runtime
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ~>
44
+ - !ruby/object:Gem::Version
45
+ version: 0.11.1
46
+ - !ruby/object:Gem::Dependency
47
+ name: rake
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ~>
52
+ - !ruby/object:Gem::Version
53
+ version: 10.2.1
54
+ type: :development
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ version: 10.2.1
62
+ - !ruby/object:Gem::Dependency
63
+ name: rspec
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ~>
68
+ - !ruby/object:Gem::Version
69
+ version: 2.14.1
70
+ type: :development
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ~>
76
+ - !ruby/object:Gem::Version
77
+ version: 2.14.1
78
+ - !ruby/object:Gem::Dependency
79
+ name: bundler
80
+ requirement: !ruby/object:Gem::Requirement
81
+ none: false
82
+ requirements:
83
+ - - ~>
84
+ - !ruby/object:Gem::Version
85
+ version: '1.3'
86
+ type: :development
87
+ prerelease: false
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ~>
92
+ - !ruby/object:Gem::Version
93
+ version: '1.3'
94
+ - !ruby/object:Gem::Dependency
95
+ name: tzinfo
96
+ requirement: !ruby/object:Gem::Requirement
97
+ none: false
98
+ requirements:
99
+ - - ~>
100
+ - !ruby/object:Gem::Version
101
+ version: '0.3'
102
+ type: :development
103
+ prerelease: false
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ~>
108
+ - !ruby/object:Gem::Version
109
+ version: '0.3'
110
+ - !ruby/object:Gem::Dependency
111
+ name: timecop
112
+ requirement: !ruby/object:Gem::Requirement
113
+ none: false
114
+ requirements:
115
+ - - ~>
116
+ - !ruby/object:Gem::Version
117
+ version: 0.6.3
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
122
+ requirements:
123
+ - - ~>
124
+ - !ruby/object:Gem::Version
125
+ version: 0.6.3
126
+ - !ruby/object:Gem::Dependency
127
+ name: guard-rspec
128
+ requirement: !ruby/object:Gem::Requirement
129
+ none: false
130
+ requirements:
131
+ - - ~>
132
+ - !ruby/object:Gem::Version
133
+ version: 4.2.8
134
+ type: :development
135
+ prerelease: false
136
+ version_requirements: !ruby/object:Gem::Requirement
137
+ none: false
138
+ requirements:
139
+ - - ~>
140
+ - !ruby/object:Gem::Version
141
+ version: 4.2.8
142
+ - !ruby/object:Gem::Dependency
143
+ name: activesupport
144
+ requirement: !ruby/object:Gem::Requirement
145
+ none: false
146
+ requirements:
147
+ - - ~>
148
+ - !ruby/object:Gem::Version
149
+ version: 4.0.4
150
+ type: :development
151
+ prerelease: false
152
+ version_requirements: !ruby/object:Gem::Requirement
153
+ none: false
154
+ requirements:
155
+ - - ~>
156
+ - !ruby/object:Gem::Version
157
+ version: 4.0.4
158
+ - !ruby/object:Gem::Dependency
159
+ name: rspec-nc
160
+ requirement: !ruby/object:Gem::Requirement
161
+ none: false
162
+ requirements:
163
+ - - ! '>='
164
+ - !ruby/object:Gem::Version
165
+ version: '0'
166
+ type: :development
167
+ prerelease: false
168
+ version_requirements: !ruby/object:Gem::Requirement
169
+ none: false
170
+ requirements:
171
+ - - ! '>='
172
+ - !ruby/object:Gem::Version
173
+ version: '0'
174
+ description:
175
+ email:
176
+ - jnraine@gmail.com
177
+ executables: []
178
+ extensions: []
179
+ extra_rdoc_files: []
180
+ files:
181
+ - .gitignore
182
+ - .rspec
183
+ - .travis.yml
184
+ - Gemfile
185
+ - Guardfile
186
+ - LICENSE.txt
187
+ - README.md
188
+ - Rakefile
189
+ - icalendar-recurrence.gemspec
190
+ - lib/icalendar-recurrence.rb
191
+ - lib/icalendar/recurrence.rb
192
+ - lib/icalendar/recurrence/event_extensions.rb
193
+ - lib/icalendar/recurrence/schedule.rb
194
+ - lib/icalendar/recurrence/time_util.rb
195
+ - lib/icalendar/recurrence/version.rb
196
+ - lib/icalendar/recurrence/weekday_extensions.rb
197
+ - spec/lib/recurrence_spec.rb
198
+ - spec/lib/schedule_spec.rb
199
+ - spec/lib/time_util_spec.rb
200
+ - spec/spec_helper.rb
201
+ - spec/support/fixtures/daily_event.ics
202
+ - spec/support/fixtures/embedded_timezone_event.ics
203
+ - spec/support/fixtures/every_monday_event.ics
204
+ - spec/support/fixtures/every_other_day_event.ics
205
+ - spec/support/fixtures/every_weekday_daily_event.ics
206
+ - spec/support/fixtures/everyday_for_four_days_event.ics
207
+ - spec/support/fixtures/first_of_every_year_event.ics
208
+ - spec/support/fixtures/first_saturday_of_month_event.ics
209
+ - spec/support/fixtures/first_sunday_of_january_yearly_event.ics
210
+ - spec/support/fixtures/monday_until_friday_event.ics
211
+ - spec/support/fixtures/multi_day_weekly_event.ics
212
+ - spec/support/fixtures/on_third_every_two_months_event.ics
213
+ - spec/support/fixtures/one_day_a_month_for_three_months_event.ics
214
+ - spec/support/fixtures/utc_event.ics
215
+ - spec/support/helpers.rb
216
+ homepage: https://github.com/icalendar/icalendar-recurrence
217
+ licenses:
218
+ - MIT
219
+ post_install_message:
220
+ rdoc_options: []
221
+ require_paths:
222
+ - lib
223
+ required_ruby_version: !ruby/object:Gem::Requirement
224
+ none: false
225
+ requirements:
226
+ - - ! '>='
227
+ - !ruby/object:Gem::Version
228
+ version: '0'
229
+ segments:
230
+ - 0
231
+ hash: 3806049795842359372
232
+ required_rubygems_version: !ruby/object:Gem::Requirement
233
+ none: false
234
+ requirements:
235
+ - - ! '>='
236
+ - !ruby/object:Gem::Version
237
+ version: '0'
238
+ segments:
239
+ - 0
240
+ hash: 3806049795842359372
241
+ requirements: []
242
+ rubyforge_project:
243
+ rubygems_version: 1.8.23
244
+ signing_key:
245
+ specification_version: 3
246
+ summary: Provides recurrence to icalendar gem.
247
+ test_files:
248
+ - spec/lib/recurrence_spec.rb
249
+ - spec/lib/schedule_spec.rb
250
+ - spec/lib/time_util_spec.rb
251
+ - spec/spec_helper.rb
252
+ - spec/support/fixtures/daily_event.ics
253
+ - spec/support/fixtures/embedded_timezone_event.ics
254
+ - spec/support/fixtures/every_monday_event.ics
255
+ - spec/support/fixtures/every_other_day_event.ics
256
+ - spec/support/fixtures/every_weekday_daily_event.ics
257
+ - spec/support/fixtures/everyday_for_four_days_event.ics
258
+ - spec/support/fixtures/first_of_every_year_event.ics
259
+ - spec/support/fixtures/first_saturday_of_month_event.ics
260
+ - spec/support/fixtures/first_sunday_of_january_yearly_event.ics
261
+ - spec/support/fixtures/monday_until_friday_event.ics
262
+ - spec/support/fixtures/multi_day_weekly_event.ics
263
+ - spec/support/fixtures/on_third_every_two_months_event.ics
264
+ - spec/support/fixtures/one_day_a_month_for_three_months_event.ics
265
+ - spec/support/fixtures/utc_event.ics
266
+ - spec/support/helpers.rb