Class: PDF::Writer::OHash
- Inherits:
-
Hash
show all
- Defined in:
- lib/extensions/pdf-writer/pdf/writer/ohash.rb
Overview
Based on [ruby-talk:20551]. Updated to (hopefully) be 1.8 friendly.
Instance Method Summary
collapse
Methods inherited from Hash
#empty?, #fetch_r, #index, #inspect, #invert, #merge, #pretty_print, #pretty_print_cycle, #replace, #reverse_merge, #reverse_merge!, #stringify_keys, #symbolize_keys, #to_a, #update, #with_indifferent_access
Constructor Details
#initialize(*args) ⇒ OHash
Returns a new instance of OHash.
16
17
18
19
|
# File 'lib/extensions/pdf-writer/pdf/writer/ohash.rb', line 16
def initialize(*args)
@keys = []
super
end
|
Instance Method Details
#[]=(key, val) ⇒ Object
21
22
23
24
|
# File 'lib/extensions/pdf-writer/pdf/writer/ohash.rb', line 21
def []=(key, val)
@keys << key unless has_key?(key)
super
end
|
#delete(key) ⇒ Object
26
27
28
29
|
# File 'lib/extensions/pdf-writer/pdf/writer/ohash.rb', line 26
def delete(key)
@keys.delete(key) if has_key?(key)
super
end
|
31
32
33
|
# File 'lib/extensions/pdf-writer/pdf/writer/ohash.rb', line 31
def each
@keys.each { |k| yield k, self[k] }
end
|
35
36
37
|
# File 'lib/extensions/pdf-writer/pdf/writer/ohash.rb', line 35
def each_key
@keys.each { |k| yield k }
end
|
#each_pair ⇒ Object
14
|
# File 'lib/extensions/pdf-writer/pdf/writer/ohash.rb', line 14
alias_method :each_pair, :each
|
#each_value ⇒ Object
39
40
41
|
# File 'lib/extensions/pdf-writer/pdf/writer/ohash.rb', line 39
def each_value
@keys.each { |k| yield self[k] }
end
|
43
44
45
|
# File 'lib/extensions/pdf-writer/pdf/writer/ohash.rb', line 43
def first
self[@keys[0]]
end
|
#first?(item) ⇒ Boolean
51
52
53
|
# File 'lib/extensions/pdf-writer/pdf/writer/ohash.rb', line 51
def first?(item)
self[@keys[0]] == item
end
|
47
48
49
|
# File 'lib/extensions/pdf-writer/pdf/writer/ohash.rb', line 47
def last
self[@keys[-1]]
end
|
#last?(item) ⇒ Boolean
55
56
57
|
# File 'lib/extensions/pdf-writer/pdf/writer/ohash.rb', line 55
def last?(item)
self[@keys[-1]] == item
end
|
13
|
# File 'lib/extensions/pdf-writer/pdf/writer/ohash.rb', line 13
alias_method :store, :[]=
|