lib/gitrb/object.rb in gitrb-0.0.1 vs lib/gitrb/object.rb in gitrb-0.0.2
- old
+ new
@@ -23,17 +23,19 @@
klass.new(*args)
end
end
class Reference
+ undef_method :id, :type rescue nil
+
def initialize(properties = {})
@properties = properties
@object = nil
end
def method_missing(name, *args, &block)
if @object
- instance_eval "def self.#{name}(*args, &block); @object.#{name}(*args, &block); end"
+ instance_eval %{def self.#{name}(*args, &block); @object.send("#{name}", *args, &block); end}
@object.send(name, *args, &block)
elsif name == :type && (mode = @properties['mode'] || @properties[:mode])
mode = mode.to_i(8)
return (mode & 0x4000 == 0x4000) ? 'tree' : 'blob'
elsif @properties.include?(name)