Based on [ruby-talk:20551]. Updated to (hopefully) be 1.8 friendly.
# File lib/pdf/writer/ohash.rb, line 21 def []=(key, val) @keys << key unless has_key?(key) super end
# File lib/pdf/writer/ohash.rb, line 26 def delete(key) @keys.delete(key) if has_key?(key) super end
# File lib/pdf/writer/ohash.rb, line 31 def each @keys.each { |k| yield k, self[k] } end
# File lib/pdf/writer/ohash.rb, line 35 def each_key @keys.each { |k| yield k } end
# File lib/pdf/writer/ohash.rb, line 39 def each_value @keys.each { |k| yield self[k] } end
# File lib/pdf/writer/ohash.rb, line 43 def first self[@keys[0]] end
# File lib/pdf/writer/ohash.rb, line 51 def first?(item) self[@keys[0]] == item end
# File lib/pdf/writer/ohash.rb, line 47 def last self[@keys[-1]] end
# File lib/pdf/writer/ohash.rb, line 55 def last?(item) self[@keys[-1]] == item end
# File lib/pdf/writer/ohash.rb, line 16 def initialize(*args) @keys = [] super end