ohac-ricalv 0.1.2 → 0.1.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.
Files changed (2) hide show
  1. data/lib/ricalv.rb +24 -2
  2. metadata +1 -1
data/lib/ricalv.rb CHANGED
@@ -3,6 +3,27 @@ require 'icalendar'
3
3
  require 'fileutils'
4
4
  require 'digest'
5
5
 
6
+ # FIXME monkey patch for icalendar 1.1.0
7
+ module Icalendar
8
+
9
+ class RRule
10
+
11
+ def to_ical
12
+ result = ["FREQ=#{@frequency}"]
13
+ result << ";UNTIL=#{@until.to_ical}" if @until
14
+ result << ";COUNT=#{@count}" if @count
15
+ result << ";INTERVAL=#{@interval}" if @interval
16
+ @by_list.each do |key, value|
17
+ result << ";#{key.to_s.upcase}=#{value[0]}" if value
18
+ end
19
+ result << ";WKST=#{@wkst}" if @wkst
20
+ result.join
21
+ end
22
+
23
+ end
24
+
25
+ end
26
+
6
27
  WEEKTABLE = { 'SU' => 7, 'MO' => 1, 'TU' => 2,
7
28
  'WE' => 3, 'TH' => 4, 'FR' => 5, 'SA' => 6 }
8
29
  KEYS = [ 'FREQ', 'BYDAY', 'BYMONTH', 'WKST', 'UNTIL', 'INTERVAL' ]
@@ -50,7 +71,8 @@ items = calss.map { |cals|
50
71
  rrule = event.properties["rrule"]
51
72
  if rrule
52
73
  rulehash = {}
53
- rule = rrule[0].split(";")
74
+ rule = rrule[0].to_ical # TODO for icalendar 1.1.0
75
+ rule = rule.split(";")
54
76
  rule.each do |item|
55
77
  a, b = item.split("=")
56
78
  rulehash[a] = b
@@ -84,7 +106,7 @@ items = calss.map { |cals|
84
106
  end
85
107
  end
86
108
  if yearly
87
- d = d.next_year
109
+ d = d.next_year # TODO for ruby1.9
88
110
  d = Date.new(d.year, mon, 1) if mon
89
111
  while d <= ud
90
112
  if day
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ohac-ricalv
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - OHASHI Hideya