Class: Odin::Types::OrderedMap
- Inherits:
-
Object
- Object
- Odin::Types::OrderedMap
- Includes:
- Enumerable
- Defined in:
- lib/odin/types/ordered_map.rb
Instance Method Summary collapse
- #==(other) ⇒ Object
- #[](key) ⇒ Object
- #[]=(key, value) ⇒ Object
- #delete(key) ⇒ Object
- #dup ⇒ Object
- #each(&block) ⇒ Object
- #empty? ⇒ Boolean
- #freeze ⇒ Object
-
#initialize(hash = {}) ⇒ OrderedMap
constructor
A new instance of OrderedMap.
- #key?(key) ⇒ Boolean (also: #has_key?, #include?)
- #keys ⇒ Object
- #merge(other_hash) ⇒ Object
- #size ⇒ Object (also: #length)
- #to_h ⇒ Object
- #values ⇒ Object
Constructor Details
#initialize(hash = {}) ⇒ OrderedMap
Returns a new instance of OrderedMap.
8 9 10 |
# File 'lib/odin/types/ordered_map.rb', line 8 def initialize(hash = {}) @store = hash.dup end |
Instance Method Details
#==(other) ⇒ Object
55 56 57 58 59 60 61 |
# File 'lib/odin/types/ordered_map.rb', line 55 def ==(other) case other when OrderedMap then @store == other.to_h when Hash then @store == other else false end end |
#[](key) ⇒ Object
12 13 14 |
# File 'lib/odin/types/ordered_map.rb', line 12 def [](key) @store[key] end |
#[]=(key, value) ⇒ Object
16 17 18 |
# File 'lib/odin/types/ordered_map.rb', line 16 def []=(key, value) @store[key] = value end |
#delete(key) ⇒ Object
20 21 22 |
# File 'lib/odin/types/ordered_map.rb', line 20 def delete(key) @store.delete(key) end |
#dup ⇒ Object
68 69 70 |
# File 'lib/odin/types/ordered_map.rb', line 68 def dup self.class.new(@store) end |
#each(&block) ⇒ Object
47 48 49 |
# File 'lib/odin/types/ordered_map.rb', line 47 def each(&block) @store.each(&block) end |
#empty? ⇒ Boolean
43 44 45 |
# File 'lib/odin/types/ordered_map.rb', line 43 def empty? @store.empty? end |
#freeze ⇒ Object
63 64 65 66 |
# File 'lib/odin/types/ordered_map.rb', line 63 def freeze @store.freeze super end |
#key?(key) ⇒ Boolean Also known as: has_key?, include?
24 25 26 |
# File 'lib/odin/types/ordered_map.rb', line 24 def key?(key) @store.key?(key) end |
#keys ⇒ Object
30 31 32 |
# File 'lib/odin/types/ordered_map.rb', line 30 def keys @store.keys end |
#merge(other_hash) ⇒ Object
72 73 74 75 76 |
# File 'lib/odin/types/ordered_map.rb', line 72 def merge(other_hash) result = dup other_hash.each { |k, v| result[k] = v } result end |
#size ⇒ Object Also known as: length
38 39 40 |
# File 'lib/odin/types/ordered_map.rb', line 38 def size @store.size end |
#to_h ⇒ Object
51 52 53 |
# File 'lib/odin/types/ordered_map.rb', line 51 def to_h @store.dup end |
#values ⇒ Object
34 35 36 |
# File 'lib/odin/types/ordered_map.rb', line 34 def values @store.values end |