Sha256: 589da3bfcde98e1a5beebc19d69bddd89ce116f9497e6892dd2e84e95934fcdc
Contents?: true
Size: 504 Bytes
Versions: 3
Compression:
Stored size: 504 Bytes
Contents
module XMP::Handler attr_accessor :handlers def new(object) last_error = nil result = object handlers.each do |handler| begin next unless new_result = handler.call(result) return new_result if new_result.is_a? XMP::Document result = new_result rescue XMP::Error => error last_error = error end end raise last_error if last_error raise XMP::Error, "cannot handle #{object.inspect}" end alias_method :parse, :new end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
xmp-2.0.0 | lib/xmp/handler.rb |
xmp-1.0.1 | lib/xmp/handler.rb |
xmp-1.0.0 | lib/xmp/handler.rb |