icalendar 1.1.1 → 1.1.2

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 (124) hide show
  1. data/History.txt +3 -0
  2. data/Manifest.txt +61 -0
  3. data/PostInstall.txt +5 -0
  4. data/{README → README.rdoc} +4 -0
  5. data/Rakefile +28 -133
  6. data/config/website.yml +2 -0
  7. data/icalendar.gemspec +55 -0
  8. data/lib/icalendar/base.rb +2 -0
  9. data/lib/icalendar/component.rb +9 -7
  10. data/script/console +10 -0
  11. data/script/destroy +14 -0
  12. data/script/generate +14 -0
  13. data/script/recur1.ics +38 -0
  14. data/script/tryit.rb +13 -0
  15. data/script/txt2html +71 -0
  16. data/test.ical +33 -0
  17. data/test.ics +33 -0
  18. data/test.rb +48 -0
  19. data/test/component/{event_test.rb → test_event.rb} +0 -0
  20. data/test/component/{timezone_test.rb → test_timezone.rb} +1 -1
  21. data/test/component/{todo_test.rb → test_todo.rb} +0 -0
  22. data/test/fixtures/folding.ics +7 -7
  23. data/test/{calendar_test.rb → test_calendar.rb} +1 -4
  24. data/test/{component_test.rb → test_component.rb} +0 -0
  25. data/test/{conversions_test.rb → test_conversions.rb} +8 -8
  26. data/test/test_helper.rb +3 -0
  27. data/test/{parameter_test.rb → test_parameter.rb} +4 -0
  28. data/test/{parser_test.rb → test_parser.rb} +0 -0
  29. data/test2.rb +28 -0
  30. data/website/index.html +11 -0
  31. data/website/index.txt +79 -0
  32. data/website/javascripts/rounded_corners_lite.inc.js +285 -0
  33. data/website/stylesheets/screen.css +159 -0
  34. data/website/template.html.erb +50 -0
  35. metadata +135 -135
  36. data/docs/api/classes/Array.html +0 -155
  37. data/docs/api/classes/Bignum.html +0 -148
  38. data/docs/api/classes/Date.html +0 -172
  39. data/docs/api/classes/DateTime.html +0 -200
  40. data/docs/api/classes/Fixnum.html +0 -148
  41. data/docs/api/classes/Float.html +0 -148
  42. data/docs/api/classes/HashAttrs.html +0 -212
  43. data/docs/api/classes/Icalendar/Alarm.html +0 -228
  44. data/docs/api/classes/Icalendar/Base.html +0 -179
  45. data/docs/api/classes/Icalendar/Calendar.html +0 -504
  46. data/docs/api/classes/Icalendar/Component.html +0 -853
  47. data/docs/api/classes/Icalendar/DateProp.html +0 -187
  48. data/docs/api/classes/Icalendar/DateProp/ClassMethods.html +0 -195
  49. data/docs/api/classes/Icalendar/Daylight.html +0 -156
  50. data/docs/api/classes/Icalendar/Event.html +0 -671
  51. data/docs/api/classes/Icalendar/Freebusy.html +0 -266
  52. data/docs/api/classes/Icalendar/Geo.html +0 -211
  53. data/docs/api/classes/Icalendar/InvalidPropertyValue.html +0 -117
  54. data/docs/api/classes/Icalendar/Journal.html +0 -443
  55. data/docs/api/classes/Icalendar/Parameter.html +0 -166
  56. data/docs/api/classes/Icalendar/Parser.html +0 -352
  57. data/docs/api/classes/Icalendar/RRule.html +0 -428
  58. data/docs/api/classes/Icalendar/RRule/Weekday.html +0 -199
  59. data/docs/api/classes/Icalendar/Standard.html +0 -156
  60. data/docs/api/classes/Icalendar/Timezone.html +0 -450
  61. data/docs/api/classes/Icalendar/Todo.html +0 -480
  62. data/docs/api/classes/Icalendar/TzidSupport.html +0 -118
  63. data/docs/api/classes/Icalendar/UnknownComponentClass.html +0 -117
  64. data/docs/api/classes/Icalendar/UnknownPropertyMethod.html +0 -117
  65. data/docs/api/classes/Object.html +0 -272
  66. data/docs/api/classes/String.html +0 -148
  67. data/docs/api/classes/TZInfo.html +0 -119
  68. data/docs/api/classes/TZInfo/Timezone.html +0 -153
  69. data/docs/api/classes/TZInfo/TimezonePeriod.html +0 -200
  70. data/docs/api/classes/TZInfo/TimezoneTransitionInfo.html +0 -229
  71. data/docs/api/classes/Time.html +0 -180
  72. data/docs/api/classes/URI.html +0 -111
  73. data/docs/api/classes/URI/Generic.html +0 -148
  74. data/docs/api/created.rid +0 -1
  75. data/docs/api/files/COPYING.html +0 -163
  76. data/docs/api/files/GPL.html +0 -531
  77. data/docs/api/files/README.html +0 -401
  78. data/docs/api/files/lib/hash_attrs_rb.html +0 -107
  79. data/docs/api/files/lib/icalendar/base_rb.html +0 -108
  80. data/docs/api/files/lib/icalendar/calendar_rb.html +0 -101
  81. data/docs/api/files/lib/icalendar/component/alarm_rb.html +0 -101
  82. data/docs/api/files/lib/icalendar/component/event_rb.html +0 -101
  83. data/docs/api/files/lib/icalendar/component/freebusy_rb.html +0 -101
  84. data/docs/api/files/lib/icalendar/component/journal_rb.html +0 -101
  85. data/docs/api/files/lib/icalendar/component/timezone_rb.html +0 -101
  86. data/docs/api/files/lib/icalendar/component/todo_rb.html +0 -101
  87. data/docs/api/files/lib/icalendar/component_rb.html +0 -108
  88. data/docs/api/files/lib/icalendar/conversions_rb.html +0 -109
  89. data/docs/api/files/lib/icalendar/helpers_rb.html +0 -101
  90. data/docs/api/files/lib/icalendar/parameter_rb.html +0 -101
  91. data/docs/api/files/lib/icalendar/parser_rb.html +0 -110
  92. data/docs/api/files/lib/icalendar/rrule_rb.html +0 -110
  93. data/docs/api/files/lib/icalendar/tzinfo_rb.html +0 -101
  94. data/docs/api/files/lib/icalendar_rb.html +0 -121
  95. data/docs/api/files/lib/meta_rb.html +0 -107
  96. data/docs/api/fr_class_index.html +0 -64
  97. data/docs/api/fr_file_index.html +0 -47
  98. data/docs/api/fr_method_index.html +0 -123
  99. data/docs/api/index.html +0 -24
  100. data/docs/api/rdoc-style.css +0 -208
  101. data/docs/rfcs/itip_notes.txt +0 -69
  102. data/docs/rfcs/rfc2425.pdf +0 -0
  103. data/docs/rfcs/rfc2426.pdf +0 -0
  104. data/docs/rfcs/rfc2445.pdf +0 -0
  105. data/docs/rfcs/rfc2446.pdf +0 -0
  106. data/docs/rfcs/rfc2447.pdf +0 -0
  107. data/docs/rfcs/rfc3283.txt +0 -738
  108. data/test/coverage/STUB +0 -0
  109. data/test/coverage/index.html +0 -272
  110. data/test/coverage/lib-hash_attrs_rb.html +0 -235
  111. data/test/coverage/lib-icalendar-base_rb.html +0 -249
  112. data/test/coverage/lib-icalendar-calendar_rb.html +0 -324
  113. data/test/coverage/lib-icalendar-component-alarm_rb.html +0 -250
  114. data/test/coverage/lib-icalendar-component-event_rb.html +0 -353
  115. data/test/coverage/lib-icalendar-component-freebusy_rb.html +0 -245
  116. data/test/coverage/lib-icalendar-component-journal_rb.html +0 -278
  117. data/test/coverage/lib-icalendar-component-timezone_rb.html +0 -326
  118. data/test/coverage/lib-icalendar-component-todo_rb.html +0 -277
  119. data/test/coverage/lib-icalendar-component_rb.html +0 -733
  120. data/test/coverage/lib-icalendar-conversions_rb.html +0 -358
  121. data/test/coverage/lib-icalendar-parser_rb.html +0 -671
  122. data/test/coverage/lib-icalendar-rrule_rb.html +0 -357
  123. data/test/coverage/lib-icalendar_rb.html +0 -243
  124. data/test/coverage/lib-meta_rb.html +0 -234
data/History.txt ADDED
@@ -0,0 +1,3 @@
1
+ === 1.1.2 2010-03-10
2
+
3
+ * Convert project to newgem to make for easier publishing
data/Manifest.txt ADDED
@@ -0,0 +1,61 @@
1
+ COPYING
2
+ GPL
3
+ History.txt
4
+ Manifest.txt
5
+ PostInstall.txt
6
+ README.rdoc
7
+ Rakefile
8
+ config/website.yml
9
+ examples/create_cal.rb
10
+ examples/parse_cal.rb
11
+ examples/single_event.ics
12
+ icalendar.gemspec
13
+ lib/hash_attrs.rb
14
+ lib/icalendar.rb
15
+ lib/icalendar/base.rb
16
+ lib/icalendar/calendar.rb
17
+ lib/icalendar/component.rb
18
+ lib/icalendar/component/alarm.rb
19
+ lib/icalendar/component/event.rb
20
+ lib/icalendar/component/freebusy.rb
21
+ lib/icalendar/component/journal.rb
22
+ lib/icalendar/component/timezone.rb
23
+ lib/icalendar/component/todo.rb
24
+ lib/icalendar/conversions.rb
25
+ lib/icalendar/conversions.rb.orig
26
+ lib/icalendar/helpers.rb
27
+ lib/icalendar/parameter.rb
28
+ lib/icalendar/parser.rb
29
+ lib/icalendar/rrule.rb
30
+ lib/icalendar/tzinfo.rb
31
+ lib/meta.rb
32
+ script/console
33
+ script/destroy
34
+ script/generate
35
+ script/recur1.ics
36
+ script/tryit.rb
37
+ script/txt2html
38
+ test.ical
39
+ test.ics
40
+ test.rb
41
+ test/component/test_event.rb
42
+ test/component/test_timezone.rb
43
+ test/component/test_todo.rb
44
+ test/fixtures/folding.ics
45
+ test/fixtures/life.ics
46
+ test/fixtures/simplecal.ics
47
+ test/fixtures/single_event.ics
48
+ test/interactive.rb
49
+ test/read_write.rb
50
+ test/test_calendar.rb
51
+ test/test_component.rb
52
+ test/test_conversions.rb
53
+ test/test_helper.rb
54
+ test/test_parameter.rb
55
+ test/test_parser.rb
56
+ test2.rb
57
+ website/index.html
58
+ website/index.txt
59
+ website/javascripts/rounded_corners_lite.inc.js
60
+ website/stylesheets/screen.css
61
+ website/template.html.erb
data/PostInstall.txt ADDED
@@ -0,0 +1,5 @@
1
+
2
+ For more information on icalendar, see http://icalendar.rubyforge.org
3
+
4
+
5
+
@@ -1,5 +1,9 @@
1
1
  = iCalendar -- Internet calendaring, Ruby style
2
2
 
3
+ * http://github.com/sdague/icalendar
4
+
5
+ == DESCRIPTION
6
+
3
7
  This is a Ruby library for dealing with iCalendar files. Rather than
4
8
  explaining myself, here is the introduction from RFC-2445, which
5
9
  defines the format:
data/Rakefile CHANGED
@@ -1,133 +1,28 @@
1
- require 'rubygems'
2
- require 'rake'
3
- require 'rake/testtask'
4
- require 'rake/rdoctask'
5
- require 'rake/clean'
6
- require 'rake/contrib/sshpublisher'
7
-
8
- PKG_NAME = "icalendar"
9
- PKG_VERSION = "1.1.1"
10
-
11
- $VERBOSE = nil
12
- TEST_CHANGES_SINCE = Time.now - 600 # Recent tests = changed in last 10 minutes
13
-
14
- desc "Run all the unit tests"
15
- task :default => [ :test, :lines ]
16
-
17
- desc "Run the unit tests in test"
18
- Rake::TestTask.new(:test) { |t|
19
- t.libs << "test"
20
- t.test_files = FileList['test/*_test.rb', 'test/component/*_test.rb']
21
- t.verbose = true
22
- }
23
-
24
- # rcov code coverage
25
- rcov_path = '/usr/bin/rcov'
26
- rcov_test_output = "./test/coverage"
27
- rcov_exclude = "interactive.rb,read_write.rb,fixtures"
28
-
29
- # Add our created paths to the 'rake clobber' list
30
- CLOBBER.include(rcov_test_output)
31
-
32
- desc 'Removes all previous unit test coverage information'
33
- task (:reset_unit_test_coverage) do |t|
34
- rm_rf rcov_unit_test_output
35
- mkdir rcov_unit_test_output
36
- end
37
-
38
- desc 'Run all unit tests with Rcov to measure coverage'
39
- Rake::TestTask.new(:rcov) do |t|
40
- t.libs << "test"
41
- t.pattern = 'test/**/*_test.rb'
42
- t.ruby_opts << rcov_path
43
- t.ruby_opts << "-o #{rcov_test_output}"
44
- t.ruby_opts << "-x #{rcov_exclude}"
45
- t.verbose = true
46
- end
47
-
48
- # Generate the RDoc documentation
49
- Rake::RDocTask.new(:doc) { |rdoc|
50
- rdoc.main = 'README'
51
- rdoc.rdoc_files.include('lib/**/*.rb', 'README')
52
- rdoc.rdoc_files.include('GPL', 'COPYING')
53
- rdoc.rdoc_dir = 'docs/api'
54
- rdoc.title = "iCalendar -- Internet Calendaring for Ruby"
55
- rdoc.options << "--include=examples --line-numbers --inline-source"
56
- rdoc.options << "--accessor=ical_component,ical_property,ical_multi_property"
57
- }
58
-
59
- require 'rubygems'
60
- require 'rubygems/gem_runner'
61
- require 'rake/gempackagetask'
62
-
63
- spec = Gem::Specification.new do |s|
64
- s.name = "icalendar"
65
- s.version = PKG_VERSION
66
- s.homepage = "http://icalendar.rubyforge.org/"
67
- s.platform = Gem::Platform::RUBY
68
- s.summary = "A ruby implementation of the iCalendar specification (RFC-2445)."
69
- s.description = "Implements the iCalendar specification (RFC-2445) in Ruby. This allows for the generation and parsing of .ics files, which are used by a variety of calendaring applications."
70
-
71
- s.files = FileList["{test,lib,docs,examples}/**/*"].to_a
72
- s.files += ["Rakefile", "README", "COPYING", "GPL" ]
73
- s.require_path = "lib"
74
- s.autorequire = "icalendar"
75
- s.has_rdoc = true
76
- s.extra_rdoc_files = ["README", "COPYING", "GPL"]
77
- s.rdoc_options.concat ['--main', 'README']
78
-
79
- s.author = "Sean Dague"
80
- s.email = "sean@dague.net"
81
- end
82
-
83
- Rake::GemPackageTask.new(spec) do |pkg|
84
- pkg.gem_spec = spec
85
- pkg.need_tar = true
86
- pkg.need_zip = true
87
- end
88
-
89
- desc "Upload Docs to RubyForge"
90
- task :publish_docs => [:doc] do
91
- publisher = Rake::SshDirPublisher.new(
92
- "sdague@rubyforge.org",
93
- "/var/www/gforge-projects/icalendar",
94
- "docs/api"
95
- )
96
- publisher.upload
97
- end
98
-
99
- desc "Publish the release files to RubyForge."
100
- task :release => [ :package, :publish_docs ] do
101
- require 'rubyforge'
102
- packages = %w( gem tgz zip ).collect{ |ext| "pkg/#{PKG_NAME}-#{PKG_VERSION}.#{ext}" }
103
- rubyforge = RubyForge.new
104
- rubyforge.configure
105
- rubyforge.scrape_config
106
- rubyforge.scrape_project(PKG_NAME)
107
- rubyforge.add_release(540, PKG_NAME, "v#{PKG_VERSION}", *packages)
108
- end
109
-
110
- desc 'Install the gem globally (requires sudo)'
111
- task :install => :package do |t|
112
- `sudo gem install pkg/icalendar-#{PKG_VERSION}.gem`
113
- end
114
-
115
- task :lines do
116
- lines = 0
117
- codelines = 0
118
- Dir.foreach("lib/icalendar") { |file_name|
119
- next unless file_name =~ /.*rb/
120
-
121
- f = File.open("lib/icalendar/" + file_name)
122
-
123
- while line = f.gets
124
- lines += 1
125
- next if line =~ /^\s*$/
126
- next if line =~ /^\s*#/
127
- codelines += 1
128
- end
129
- }
130
- puts "\n------------------------------\n"
131
- puts "Total Lines: #{lines}"
132
- puts "Lines of Code: #{codelines}"
133
- end
1
+ require 'rubygems'
2
+ gem 'hoe', '>= 2.1.0'
3
+ require 'hoe'
4
+ require 'fileutils'
5
+ require './lib/icalendar'
6
+
7
+ ENV['VERSION'] = Icalendar::VERSION
8
+
9
+ Hoe.plugin :newgem
10
+ Hoe.plugin :website
11
+ # Hoe.plugin :cucumberfeatures
12
+
13
+ # Generate all the Rake tasks
14
+ # Run 'rake -T' to see list of generated tasks (from gem root directory)
15
+ $hoe = Hoe.spec 'icalendar' do
16
+ self.developer 'Sean Dague', 'sean@dague.net'
17
+ self.post_install_message = 'PostInstall.txt' # TODO remove if post-install message not required
18
+ self.rubyforge_name = self.name # TODO this is default value
19
+ # self.extra_deps = [['activesupport','>= 2.0.2']]
20
+
21
+ end
22
+
23
+ require 'newgem/tasks'
24
+ Dir['tasks/**/*.rake'].each { |t| load t }
25
+
26
+ # TODO - want other tests/tasks run by default? Add them to the list
27
+ # remove_task :default
28
+ # task :default => [:spec, :features]
@@ -0,0 +1,2 @@
1
+ host: sdague@rubyforge.org
2
+ remote_dir: /var/www/gforge-projects/icalendar
data/icalendar.gemspec ADDED
@@ -0,0 +1,55 @@
1
+ Gem::Specification.new do |s|
2
+ s.name = "icalendar"
3
+ s.version = "1.1.1"
4
+ s.homepage = "http://icalendar.rubyforge.org/"
5
+ s.platform = Gem::Platform::RUBY
6
+ s.summary = "A ruby implementation of the iCalendar specification (RFC-2445)."
7
+ s.description = "Implements the iCalendar specification (RFC-2445) in Ruby. This allows for the generation and parsing of .ics files, which are used by a variety of calendaring applications."
8
+
9
+ s.files = [
10
+ "test/calendar_test.rb", "test/parameter_test.rb",
11
+ "test/interactive.rb", "test/conversions_test.rb",
12
+ "test/component_test.rb", "test/parser_test.rb",
13
+ "test/read_write.rb", "test/fixtures",
14
+ "test/fixtures/single_event.ics",
15
+ "test/fixtures/folding.ics",
16
+ "test/fixtures/simplecal.ics",
17
+ "test/fixtures/life.ics", "test/component",
18
+ "test/component/timezone_test.rb",
19
+ "test/component/todo_test.rb",
20
+ "test/component/event_test.rb", "test/coverage",
21
+ "test/coverage/STUB", "lib/icalendar",
22
+ "lib/icalendar/parameter.rb",
23
+ "lib/icalendar/component.rb",
24
+ "lib/icalendar/base.rb", "lib/icalendar/parser.rb",
25
+ "lib/icalendar/calendar.rb",
26
+ "lib/icalendar/component",
27
+ "lib/icalendar/component/alarm.rb",
28
+ "lib/icalendar/component/todo.rb",
29
+ "lib/icalendar/component/event.rb",
30
+ "lib/icalendar/component/journal.rb",
31
+ "lib/icalendar/component/timezone.rb",
32
+ "lib/icalendar/component/freebusy.rb",
33
+ "lib/icalendar/conversions.rb",
34
+ "lib/icalendar/rrule.rb",
35
+ "lib/icalendar/tzinfo.rb",
36
+ "lib/icalendar/helpers.rb", "lib/meta.rb",
37
+ "lib/icalendar.rb", "lib/hash_attrs.rb", "docs/rfcs",
38
+ "docs/rfcs/rfc2446.pdf", "docs/rfcs/rfc2426.pdf",
39
+ "docs/rfcs/itip_notes.txt", "docs/rfcs/rfc2447.pdf",
40
+ "docs/rfcs/rfc2425.pdf", "docs/rfcs/rfc2445.pdf",
41
+ "docs/rfcs/rfc3283.txt", "docs/api", "docs/api/STUB",
42
+ "examples/single_event.ics", "examples/parse_cal.rb",
43
+ "examples/create_cal.rb"]
44
+
45
+ s.files += ["Rakefile", "README", "COPYING", "GPL" ]
46
+ s.require_path = "lib"
47
+ s.autorequire = "icalendar"
48
+ s.has_rdoc = true
49
+ s.extra_rdoc_files = ["README", "COPYING", "GPL"]
50
+ s.rdoc_options.concat ['--main', 'README']
51
+
52
+ s.author = "Sean Dague"
53
+ s.email = "sean@dague.net"
54
+ end
55
+
@@ -9,6 +9,8 @@ require 'logger'
9
9
 
10
10
  module Icalendar #:nodoc:
11
11
 
12
+ VERSION = '1.1.2'
13
+
12
14
  # A simple error class to differentiate iCalendar library exceptions
13
15
  # from ruby language exceptions or others.
14
16
  class IcalendarError < StandardError #:nodoc:
@@ -103,8 +103,8 @@ module Icalendar
103
103
  def to_ical
104
104
  print_component do
105
105
  s = ""
106
- @components.each_value do |comps|
107
- comps.each { |component| s << component.to_ical }
106
+ @components.sort.each do |key, comps|
107
+ comps.sort.each { |component| s << component.to_ical }
108
108
  end
109
109
  s
110
110
  end
@@ -129,7 +129,7 @@ module Icalendar
129
129
  def print_properties
130
130
  s = ""
131
131
 
132
- @properties.each do |key,val|
132
+ @properties.sort.each do |key,val|
133
133
  # Take out underscore for property names that conflicted
134
134
  # with built-in words.
135
135
  if key =~ /ip_.*/
@@ -145,13 +145,13 @@ module Icalendar
145
145
 
146
146
  # Property value
147
147
  value = ":#{val.to_ical}"
148
- add_sliced_text(s,prelude+escape_chars(value))
148
+ add_sliced_text(s, prelude + escape_chars(value))
149
149
  else
150
150
  prelude = "#{key.gsub(/_/, '-').upcase}"
151
151
  val.each do |v|
152
152
  params = print_parameters(v)
153
153
  value = ":#{v.to_ical}"
154
- add_sliced_text(s,prelude + params + escape_chars(value))
154
+ add_sliced_text(s, prelude + params + escape_chars(value))
155
155
  end
156
156
  end
157
157
  end
@@ -159,12 +159,14 @@ module Icalendar
159
159
  end
160
160
 
161
161
  def escape_chars(value)
162
- value.gsub("\\", "\\\\").gsub("\n", "\\n").gsub(",", "\\,").gsub(";", "\\;")
162
+ v = value.gsub("\\", "\\\\").gsub("\n", "\\n").gsub(",", "\\,").gsub(";", "\\;")
163
+ return v
164
+ # return value
163
165
  end
164
166
 
165
167
  def add_sliced_text(add_to,escaped)
166
168
  escaped = escaped.split('') # split is unicdoe-aware when `$KCODE = 'u'`
167
- add_to << escaped.slice!(0,MAX_LINE_LENGTH).to_s << "\r\n " while escaped.length != 0 # shift(MAX_LINE_LENGTH) does not work with ruby 1.8.6
169
+ add_to << escaped.slice!(0,MAX_LINE_LENGTH).join << "\r\n " while escaped.length != 0 # shift(MAX_LINE_LENGTH) does not work with ruby 1.8.6
168
170
  add_to.gsub!(/ *$/, '')
169
171
  end
170
172
 
data/script/console ADDED
@@ -0,0 +1,10 @@
1
+ #!/usr/bin/env ruby
2
+ # File: script/console
3
+ irb = RUBY_PLATFORM =~ /(:?mswin|mingw)/ ? 'irb.bat' : 'irb'
4
+
5
+ libs = " -r irb/completion"
6
+ # Perhaps use a console_lib to store any extra methods I may want available in the cosole
7
+ # libs << " -r #{File.dirname(__FILE__) + '/../lib/console_lib/console_logger.rb'}"
8
+ libs << " -r #{File.dirname(__FILE__) + '/../lib/icalendar.rb'}"
9
+ puts "Loading icalendar gem"
10
+ exec "#{irb} #{libs} --simple-prompt"
data/script/destroy ADDED
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env ruby
2
+ APP_ROOT = File.expand_path(File.join(File.dirname(__FILE__), '..'))
3
+
4
+ begin
5
+ require 'rubigen'
6
+ rescue LoadError
7
+ require 'rubygems'
8
+ require 'rubigen'
9
+ end
10
+ require 'rubigen/scripts/destroy'
11
+
12
+ ARGV.shift if ['--help', '-h'].include?(ARGV[0])
13
+ RubiGen::Base.use_component_sources! [:rubygems, :newgem, :newgem_theme, :test_unit]
14
+ RubiGen::Scripts::Destroy.new.run(ARGV)
data/script/generate ADDED
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env ruby
2
+ APP_ROOT = File.expand_path(File.join(File.dirname(__FILE__), '..'))
3
+
4
+ begin
5
+ require 'rubigen'
6
+ rescue LoadError
7
+ require 'rubygems'
8
+ require 'rubigen'
9
+ end
10
+ require 'rubigen/scripts/generate'
11
+
12
+ ARGV.shift if ['--help', '-h'].include?(ARGV[0])
13
+ RubiGen::Base.use_component_sources! [:rubygems, :newgem, :newgem_theme, :test_unit]
14
+ RubiGen::Scripts::Generate.new.run(ARGV)
data/script/recur1.ics ADDED
@@ -0,0 +1,38 @@
1
+ BEGIN:VCALENDAR
2
+ METHOD:PUBLISH
3
+ X-WR-TIMEZONE:US/Eastern
4
+ PRODID:-//Apple Inc.//iCal 3.0//EN
5
+ CALSCALE:GREGORIAN
6
+ X-WR-CALNAME:recur1
7
+ VERSION:2.0
8
+ X-WR-RELCALID:9122B9C1-EE7E-479C-9567-DB9F075F1844
9
+ X-APPLE-CALENDAR-COLOR:#492BA1
10
+ BEGIN:VTIMEZONE
11
+ TZID:US/Eastern
12
+ BEGIN:DAYLIGHT
13
+ TZOFFSETFROM:-0500
14
+ TZOFFSETTO:-0400
15
+ DTSTART:20070311T020000
16
+ RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU
17
+ TZNAME:EDT
18
+ END:DAYLIGHT
19
+ BEGIN:STANDARD
20
+ TZOFFSETFROM:-0400
21
+ TZOFFSETTO:-0500
22
+ DTSTART:20071104T020000
23
+ RRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU
24
+ TZNAME:EST
25
+ END:STANDARD
26
+ END:VTIMEZONE
27
+ BEGIN:VEVENT
28
+ SEQUENCE:8
29
+ TRANSP:OPAQUE
30
+ UID:59B21F50-301E-457D-B57E-78EDE83987E0
31
+ DTSTART;TZID=US/Eastern:20080908T100000
32
+ DTSTAMP:20081016T174123Z
33
+ SUMMARY:Recurring Event
34
+ CREATED:20081016T174021Z
35
+ DTEND;TZID=US/Eastern:20080908T110000
36
+ RRULE:FREQ=DAILY;INTERVAL=2;UNTIL=20080915T035959Z
37
+ END:VEVENT
38
+ END:VCALENDAR