Class: Meteor::Core::Util::OrderHash
- Inherits:
-
Hash
- Object
- Hash
- Meteor::Core::Util::OrderHash
- Defined in:
- lib/meteor.rb
Instance Attribute Summary collapse
-
#keys ⇒ Object
Returns the value of attribute keys.
-
#values ⇒ Object
Returns the value of attribute values.
Instance Method Summary collapse
-
#[]=(key, value) ⇒ Object
superとして、Hash#[]=を呼び出す.
- #clear ⇒ Object
- #delete(key) ⇒ Object
- #each ⇒ Object
- #each_pair ⇒ Object
-
#initialize ⇒ OrderHash
constructor
A new instance of OrderHash.
- #map ⇒ Object
- #sort_hash(&block) ⇒ Object
- #store(key, value) ⇒ Object
Constructor Details
#initialize ⇒ OrderHash
Returns a new instance of OrderHash.
2986 2987 2988 2989 |
# File 'lib/meteor.rb', line 2986 def initialize @keys = Array.new @values = Array.new end |
Instance Attribute Details
#keys ⇒ Object
Returns the value of attribute keys.
2991 2992 2993 |
# File 'lib/meteor.rb', line 2991 def keys @keys end |
#values ⇒ Object
Returns the value of attribute values.
2992 2993 2994 |
# File 'lib/meteor.rb', line 2992 def values @values end |
Instance Method Details
#[]=(key, value) ⇒ Object
superとして、Hash#[]=を呼び出す
3019 3020 3021 |
# File 'lib/meteor.rb', line 3019 def []=(key, value) store(key, value) end |
#clear ⇒ Object
3002 3003 3004 3005 3006 |
# File 'lib/meteor.rb', line 3002 def clear @keys.clear @values.clear super end |
#delete(key) ⇒ Object
3008 3009 3010 3011 3012 3013 3014 3015 |
# File 'lib/meteor.rb', line 3008 def delete(key) if @keys.include?(key) @keys.delete(key) @values.delete(fetch(key)) super(key) elsif yield(key) end end |
#each ⇒ Object
3023 3024 3025 3026 3027 3028 3029 3030 3031 |
# File 'lib/meteor.rb', line 3023 def each @keys.each do |k| arr_tmp = Array.new arr_tmp << k arr_tmp << self[k] yield(arr_tmp) end return self end |
#each_pair ⇒ Object
3033 3034 3035 3036 3037 3038 |
# File 'lib/meteor.rb', line 3033 def each_pair @keys.each do |k| yield(k, self[k]) end return self end |
#map ⇒ Object
3040 3041 3042 3043 3044 3045 3046 3047 3048 3049 |
# File 'lib/meteor.rb', line 3040 def map arr_tmp = Array.new @keys.each do |k| arg_arr = Array.new arg_arr << k arg_arr << self[k] arr_tmp << yield(arg_arr) end return arr_tmp end |
#sort_hash(&block) ⇒ Object
3051 3052 3053 3054 3055 3056 3057 3058 3059 3060 3061 |
# File 'lib/meteor.rb', line 3051 def sort_hash(&block) if block_given? arr_tmp = self.sort(&block) elsif arr_tmp = self.sort end hash_tmp = OrderHash.new arr_tmp.each do |item| hash_tmp[item[0]] = item[1] end return hash_tmp end |
#store(key, value) ⇒ Object
2994 2995 2996 2997 2998 2999 3000 |
# File 'lib/meteor.rb', line 2994 def store(key, value) unless @keys.include?(key) @keys << key @values << value end super(key, value) end |