Class: OrderedHash
- Includes:
- StandardHashMethodsInRuby
- Defined in:
- lib/hash_magic.rb
Instance Method Summary collapse
- #[]=(key, value) ⇒ Object
-
#initialize(*args) ⇒ OrderedHash
constructor
A new instance of OrderedHash.
- #inspect ⇒ Object
- #keys ⇒ Object
-
#ordered ⇒ Object
:nodoc:.
- #slashed ⇒ Object
Constructor Details
#initialize(*args) ⇒ OrderedHash
Returns a new instance of OrderedHash.
337 338 339 |
# File 'lib/hash_magic.rb', line 337 def initialize(*args) @keys_in_order = args.flatten end |
Instance Method Details
#[]=(key, value) ⇒ Object
342 343 344 345 |
# File 'lib/hash_magic.rb', line 342 def []=(key,value) @keys_in_order << key super end |
#inspect ⇒ Object
346 347 348 |
# File 'lib/hash_magic.rb', line 346 def inspect super.insert(1,'ordered: ') end |
#keys ⇒ Object
349 350 351 |
# File 'lib/hash_magic.rb', line 349 def keys super.sort {|a,b| (@keys_in_order.index(a) || -1) <=> (@keys_in_order.index(b) || -1)} end |
#ordered ⇒ Object
:nodoc:
353 354 355 |
# File 'lib/hash_magic.rb', line 353 def ordered # :nodoc: self end |
#slashed ⇒ Object
356 357 358 |
# File 'lib/hash_magic.rb', line 356 def slashed SlashedHash.new(self).ordered!(@keys_in_order) end |