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)