Class: Meteor::Core::Util::OrderHash
- Inherits:
-
Hash
- Object
- Hash
- Meteor::Core::Util::OrderHash
- Defined in:
- lib/meteor.rb
Overview
if RUBY_VERSION < RUBY_VERSION_1_9_0 then
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.
2889 2890 2891 2892 |
# File 'lib/meteor.rb', line 2889 def initialize @keys = Array.new @values = Array.new end |
Instance Attribute Details
#keys ⇒ Object
Returns the value of attribute keys.
2894 2895 2896 |
# File 'lib/meteor.rb', line 2894 def keys @keys end |
#values ⇒ Object
Returns the value of attribute values.
2895 2896 2897 |
# File 'lib/meteor.rb', line 2895 def values @values end |
Instance Method Details
#[]=(key, value) ⇒ Object
superとして、Hash#[]=を呼び出す
2922 2923 2924 |
# File 'lib/meteor.rb', line 2922 def []=(key, value) store(key, value) end |
#clear ⇒ Object
2905 2906 2907 2908 2909 |
# File 'lib/meteor.rb', line 2905 def clear @keys.clear @values.clear super end |
#delete(key) ⇒ Object
2911 2912 2913 2914 2915 2916 2917 2918 |
# File 'lib/meteor.rb', line 2911 def delete(key) if @keys.include?(key) @keys.delete(key) @values.delete(fetch(key)) super(key) elsif yield(key) end end |
#each ⇒ Object
2926 2927 2928 2929 2930 2931 2932 2933 2934 |
# File 'lib/meteor.rb', line 2926 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
2936 2937 2938 2939 2940 2941 |
# File 'lib/meteor.rb', line 2936 def each_pair @keys.each do |k| yield(k, self[k]) end return self end |
#map ⇒ Object
2943 2944 2945 2946 2947 2948 2949 2950 2951 2952 |
# File 'lib/meteor.rb', line 2943 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
2954 2955 2956 2957 2958 2959 2960 2961 2962 2963 2964 |
# File 'lib/meteor.rb', line 2954 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
2897 2898 2899 2900 2901 2902 2903 |
# File 'lib/meteor.rb', line 2897 def store(key, value) unless @keys.include?(key) @keys << key @values << value end super(key, value) end |