SOURCES: ruby-icalendar-noeval.patch (NEW) - added
aredridel
aredridel at pld-linux.org
Fri May 25 09:14:08 CEST 2007
Author: aredridel Date: Fri May 25 07:14:08 2007 GMT
Module: SOURCES Tag: HEAD
---- Log message:
- added
---- Files affected:
SOURCES:
ruby-icalendar-noeval.patch (NONE -> 1.1) (NEW)
---- Diffs:
================================================================
Index: SOURCES/ruby-icalendar-noeval.patch
diff -u /dev/null SOURCES/ruby-icalendar-noeval.patch:1.1
--- /dev/null Fri May 25 09:14:08 2007
+++ SOURCES/ruby-icalendar-noeval.patch Fri May 25 09:14:03 2007
@@ -0,0 +1,268 @@
+diff -ur ruby-icalendar-0.98-o/lib/icalendar/component.rb ruby-icalendar-0.98/lib/icalendar/component.rb
+--- ruby-icalendar-0.98-o/lib/icalendar/component.rb 1969-12-31 17:00:00.000000000 -0700
++++ ruby-icalendar-0.98/lib/icalendar/component.rb 2007-05-25 01:11:05.000000000 -0600
+@@ -35,7 +35,9 @@
+ # Freebusy time information, or an Alarm.
+ class Component < Icalendar::Base
+
+- meta_include HashAttrs
++ class << self
++ include HashAttrs
++ end
+
+ attr_reader :name
+ attr_accessor :properties
+@@ -229,27 +231,27 @@
+
+ def Component.generate_getter(property, alias_name)
+ unless instance_methods.include? property
+- code = <<-code
+- def #{property}(val = nil, params = nil)
+- return @properties["#{property}"] if val.nil?
++ class_eval do
++ define_method(property) do |*params|
++ val, params = *params
++ return @properties[property] if val.nil?
+
+- unless val.respond_to?(:to_ical)
+- raise(NotImplementedError, "Value of type (" + val.class.to_s + ") does not support to_ical method!")
+- end
++ unless val.respond_to?(:to_ical)
++ raise(NotImplementedError, "Value of type (" + val.class.to_s + ") does not support to_ical method!")
++ end
+
+- unless params.nil?
+- # Extend with the parameter methods only if we have to...
+- unless val.respond_to?(:ical_params)
+- val.class.class_eval { attr_accessor :ical_params }
+- end
+- val.ical_params = params
++ unless params.nil?
++ # Extend with the parameter methods only if we have to...
++ unless val.respond_to?(:ical_params)
++ val.class.class_eval { attr_accessor :ical_params }
+ end
+-
+- @properties["#{property}"] = val
++ val.ical_params = params
+ end
+- code
+
+- class_eval code, "component.rb", 219
++ @properties[property] = val
++ end
++ end
++
+ alias_method("#{alias_name}", "#{property}") unless alias_name.nil?
+ end
+ end
+@@ -257,13 +259,12 @@
+ def Component.generate_setter(property, alias_name)
+ setter = property + '='
+ unless instance_methods.include? setter
+- code = <<-code
+- def #{setter}(val)
+- #{property}(val)
+- end
+- code
++ class_eval do
++ define_method(setter) do |val|
++ self.send(property, val)
++ end
++ end
+
+- class_eval code, "component.rb", 233
+ alias_method("#{alias_name}=", "#{property+'='}") unless alias_name.nil?
+ end
+ end
+@@ -271,13 +272,11 @@
+ def Component.generate_query(property, alias_name)
+ query = "#{property}?"
+ unless instance_methods.include? query
+- code = <<-code
+- def #{query}
+- @properties.has_key?("#{property.downcase}")
+- end
+- code
+-
+- class_eval code, "component.rb", 226
++ class_eval do
++ define_method(query) do
++ @properties.has_key?("#{property.downcase}")
++ end
++ end
+
+ alias_method("#{alias_name}\?", "#{query}") unless alias_name.nil?
+ end
+@@ -286,53 +285,47 @@
+ def Component.generate_multi_getter(property, plural)
+ # Getter for whole array
+ unless instance_methods.include? plural
+- code = <<-code
+- def #{plural}(a = nil)
+- if a.nil?
+- @properties["#{property}"] || []
+- else
+- self.#{plural}=(a)
+- end
+- end
+- code
+-
+- class_eval code, "component.rb", 186
++ class_eval do
++ define_method(plural) do |*a|
++ if a.nil?
++ @properties["#{property}"] || []
++ else
++ self.send("#{plural}=", a)
++ end
++ end
++ end
+ end
+ end
+
+ def Component.generate_multi_setter(property, plural)
+ # Setter for whole array
+ unless instance_methods.include? plural+'+'
+- code = <<-code
+- def #{plural}=(a)
+- if a.respond_to?(:to_ary)
+- a.to_ary.each do |val|
+- unless val.respond_to?(:to_ical)
+- raise(NotImplementedError, "Property values do not support to_ical method!")
+- end
++ class_eval do
++ define_method("#{plural}=") do |a|
++ if a.respond_to?(:to_ary)
++ a.to_ary.each do |val|
++ unless val.respond_to?(:to_ical)
++ raise(NotImplementedError, "Property values do not support to_ical method!")
+ end
+-
+- @properties["#{property}"] = a.to_ary
+- else
+- raise ArgumentError, "#{plural} is a multi-property that must be an array! Use the add_[property] method to add single entries."
+ end
+- end
+- code
+
+- class_eval code, "component.rb", 198
++ @properties["#{property}"] = a.to_ary
++ else
++ raise ArgumentError, "#{plural} is a multi-property that must be an array! Use the add_[property] method to add single entries."
++ end
++ end
++ end
+ end
+ end
+
+ def Component.generate_multi_query(property, plural)
+ # Query for any of these properties
+ unless instance_methods.include? plural+'?'
+- code = <<-code
+- def #{plural}?
+- @properties.has_key?("#{property}")
+- end
+- code
+-
+- class_eval code, "component.rb", 210
++ class_eval do
++ define_method("#{plural}?") do
++ @properties.has_key?("#{property}")
++ end
++ end
+ end
+ end
+
+@@ -340,29 +333,29 @@
+ adder = "add_"+singular.to_s
+ # Add another item to this properties array
+ unless instance_methods.include? adder
+- code = <<-code
+- def #{adder}(val, params = {})
+- unless val.respond_to?(:to_ical)
+- raise(NotImplementedError, "Property value object does not support to_ical method!")
+- end
+-
+- unless params.nil?
+- # Extend with the parameter methods only if we have to...
+- unless val.respond_to?(:ical_params)
+- val.class.class_eval { attr_accessor :ical_params }
+- end
+- val.ical_params = params
++ class_eval do
++ define_method(adder) do |val, params|
++ params ||= {}
++ unless val.respond_to?(:to_ical)
++ raise(NotImplementedError, "Property value object does not support to_ical method!")
++ end
++
++ unless params.nil?
++ # Extend with the parameter methods only if we have to...
++ unless val.respond_to?(:ical_params)
++ val.class.class_eval { attr_accessor :ical_params }
+ end
++ val.ical_params = params
++ end
+
+- if @properties.has_key?("#{property}")
+- @properties["#{property}"] << val
+- else
+- @properties["#{property}"] = [val]
+- end
++ if @properties.has_key?("#{property}")
++ @properties["#{property}"] << val
++ else
++ @properties["#{property}"] = [val]
+ end
+- code
++ end
++ end
+
+- class_eval code, "component.rb", 289
+ alias_method("add_#{property.downcase}", "#{adder}")
+ end
+ end
+@@ -370,15 +363,14 @@
+ def Component.generate_multi_remover(property, singular)
+ # Remove an item from this properties array
+ unless instance_methods.include? "remove_#{singular}"
+- code = <<-code
+- def remove_#{singular}(a)
+- if @properties.has_key?("#{property}")
+- @properties["#{property}"].delete(a)
+- end
++ class_eval do
++ define_method("remove_#{singular}") do |a|
++ if @properties.has_key?("#{property}")
++ @properties["#{property}"].delete(a)
+ end
+- code
++ end
++ end
+
+- class_eval code, "component.rb", 303
+ alias_method("remove_#{property.downcase}", "remove_#{singular}")
+ end
+ end
+diff -ur ruby-icalendar-0.98-o/lib/icalendar.rb ruby-icalendar-0.98/lib/icalendar.rb
+--- ruby-icalendar-0.98-o/lib/icalendar.rb 1969-12-31 17:00:00.000000000 -0700
++++ ruby-icalendar-0.98/lib/icalendar.rb 2007-05-25 01:11:45.000000000 -0600
+@@ -6,16 +6,11 @@
+ details.
+ =end
+
+-$:.unshift(File.dirname(__FILE__))
+-
+ ### Base classes and mixin modules
+
+ # to_ical methods for built-in classes
+ require 'icalendar/conversions'
+
+-# Meta-programming helper methods
+-require 'meta'
+-
+ # Hash attributes mixin module
+ require 'hash_attrs'
+
+Only in ruby-icalendar-0.98-o/lib: meta.rb
================================================================
More information about the pld-cvs-commit
mailing list