icalendar 0.95 → 0.96

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 (64) hide show
  1. data/README +9 -4
  2. data/Rakefile +4 -3
  3. data/docs/examples/parse_cal.rb +1 -1
  4. data/lib/icalendar/calendar.rb +15 -51
  5. data/lib/icalendar/component.rb +75 -21
  6. data/lib/icalendar/component/event.rb +60 -11
  7. data/lib/icalendar/component/timezone.rb +31 -7
  8. data/lib/icalendar/component/todo.rb +1 -1
  9. data/lib/icalendar/conversions.rb +3 -1
  10. data/lib/icalendar/foo.rb +394 -0
  11. data/lib/icalendar/parser.rb +29 -22
  12. data/test/calendar_test.rb +37 -37
  13. data/test/component/event_test.rb +1 -1
  14. data/test/component_test.rb +56 -56
  15. data/test/interactive.rb +15 -0
  16. data/test/life.ics +45 -0
  17. data/test/parameter_test.rb +20 -0
  18. metadata +23 -70
  19. data/docs/api/classes/Array.html +0 -146
  20. data/docs/api/classes/Date.html +0 -157
  21. data/docs/api/classes/DateTime.html +0 -178
  22. data/docs/api/classes/Fixnum.html +0 -146
  23. data/docs/api/classes/Float.html +0 -146
  24. data/docs/api/classes/Icalendar/Alarm.html +0 -184
  25. data/docs/api/classes/Icalendar/Base.html +0 -118
  26. data/docs/api/classes/Icalendar/Calendar.html +0 -411
  27. data/docs/api/classes/Icalendar/Component.html +0 -306
  28. data/docs/api/classes/Icalendar/DateProp.html +0 -187
  29. data/docs/api/classes/Icalendar/DateProp/ClassMethods.html +0 -195
  30. data/docs/api/classes/Icalendar/Event.html +0 -202
  31. data/docs/api/classes/Icalendar/Freebusy.html +0 -157
  32. data/docs/api/classes/Icalendar/InvalidComponentClass.html +0 -117
  33. data/docs/api/classes/Icalendar/InvalidPropertyValue.html +0 -117
  34. data/docs/api/classes/Icalendar/Journal.html +0 -190
  35. data/docs/api/classes/Icalendar/Parameter.html +0 -166
  36. data/docs/api/classes/Icalendar/Parser.html +0 -447
  37. data/docs/api/classes/Icalendar/Timezone.html +0 -197
  38. data/docs/api/classes/Icalendar/Todo.html +0 -199
  39. data/docs/api/classes/String.html +0 -160
  40. data/docs/api/classes/Time.html +0 -161
  41. data/docs/api/created.rid +0 -1
  42. data/docs/api/files/COPYING.html +0 -163
  43. data/docs/api/files/GPL.html +0 -531
  44. data/docs/api/files/README.html +0 -241
  45. data/docs/api/files/lib/icalendar/base_rb.html +0 -108
  46. data/docs/api/files/lib/icalendar/calendar_rb.html +0 -101
  47. data/docs/api/files/lib/icalendar/component/alarm_rb.html +0 -101
  48. data/docs/api/files/lib/icalendar/component/event_rb.html +0 -101
  49. data/docs/api/files/lib/icalendar/component/freebusy_rb.html +0 -101
  50. data/docs/api/files/lib/icalendar/component/journal_rb.html +0 -101
  51. data/docs/api/files/lib/icalendar/component/timezone_rb.html +0 -101
  52. data/docs/api/files/lib/icalendar/component/todo_rb.html +0 -101
  53. data/docs/api/files/lib/icalendar/component_rb.html +0 -101
  54. data/docs/api/files/lib/icalendar/conversions_rb.html +0 -108
  55. data/docs/api/files/lib/icalendar/helpers_rb.html +0 -101
  56. data/docs/api/files/lib/icalendar/parameter_rb.html +0 -101
  57. data/docs/api/files/lib/icalendar/parser_rb.html +0 -109
  58. data/docs/api/files/lib/icalendar_rb.html +0 -118
  59. data/docs/api/fr_class_index.html +0 -48
  60. data/docs/api/fr_file_index.html +0 -43
  61. data/docs/api/fr_method_index.html +0 -63
  62. data/docs/api/index.html +0 -24
  63. data/docs/api/rdoc-style.css +0 -208
  64. data/lib/icalendar/#helpers.rb# +0 -92
@@ -1,92 +0,0 @@
1
- =begin
2
- Copyright (C) 2005 Jeff Rose
3
- Copyright (C) 2005 Sam Roberts
4
-
5
- This library is free software; you can redistribute it and/or modify it
6
- under the same terms as the ruby language itself, see the file COPYING for
7
- details.
8
- =end
9
-
10
- module Icalendar
11
- module DateProp
12
- # You have to do this to mixin class methods rather than instance methods.
13
- def self.append_features(base)
14
- super
15
- klass.extend(ClassMethods)
16
- end
17
-
18
- # This is made a sub-module just so it can be added as class
19
- # methods rather than instance methods.
20
- module ClassMethods
21
- def ical_property(dp, alias_name = nil)
22
- dp = "#{dp}".strip.downcase
23
- getter = dp
24
- setter = "#{dp}="
25
- query = "#{dp}?"
26
-
27
- unless instance_methods.include? getter
28
- code = <<-code
29
- def #{getter}(*a)
30
- if a.empty?
31
- @properties[#{dp.upcase}]
32
- else
33
- self.#{dp} = a.first
34
- end
35
- end
36
- code
37
-
38
- module_eval code
39
- end
40
-
41
- unless instance_methods.include? setter
42
- code = <<-code
43
- def #{setter} a
44
- @properties[#{dp.upcase}] = a
45
- end
46
- code
47
-
48
- module_eval code
49
- end
50
-
51
- unless instance_methods.include? query
52
- code = <<-code
53
- def #{query}
54
- @properties.has_key?(#{dp.upcase})
55
- end
56
- code
57
-
58
- module_eval code
59
- end
60
-
61
- # Define the getter
62
- getter = "get#{property.to_s.capitalize}"
63
- define_method(getter.to_sym) do
64
- puts "inside getting..."
65
- getDateProperty(property.to_s.upcase)
66
- end
67
-
68
- # Define the setter
69
- setter = "set#{property.to_s.capitalize}"
70
- define_method(setter.to_sym) do |*params|
71
- date = params[0]
72
- utc = params[1]
73
- puts "inside setting..."
74
- setDateProperty(property.to_s.upcase, date, utc)
75
- end
76
-
77
- # Create aliases if a name was specified
78
- # if not aliasName.nil?
79
- # gasym = "get#{aliasName.to_s.capitalize}".to_sym
80
- # gsym = getter.to_sym
81
- # alias gasym gsym
82
-
83
- # sasym = "set#{aliasName.to_s.capitalize}".to_sym
84
- # ssym = setter.to_sym
85
- # alias sasym ssym
86
- # end
87
- end
88
-
89
- end
90
-
91
- end
92
- end