orderedhash 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
data/install.rb CHANGED
@@ -37,6 +37,9 @@ def install_rb(srcdir=nil, destdir=nil, mode=nil, bin=nil)
37
37
  next if (f = f[srcdir.length+1..-1]) == nil
38
38
  next if (/CVS$/ =~ File.dirname(f))
39
39
  next if f =~ %r/\.lnk/
40
+ next if f =~ %r/\.svn/
41
+ next if f =~ %r/\.swp/
42
+ next if f =~ %r/\.svn/
40
43
  path.push f
41
44
  dir |= [File.dirname(f)]
42
45
  end
@@ -4,23 +4,15 @@
4
4
  require 'orderedhash' unless defined? OrderedHash
5
5
 
6
6
  class AutoOrderedHash < OrderedHash
7
- #--{{{
8
7
  def initialize(*args)
9
- #--{{{
10
8
  super(*args){|a,k| a[k] = __class__.new(*args)}
11
- #--}}}
12
9
  end
13
10
  def class # for nice yaml
14
- #--{{{
15
11
  Hash
16
- #--}}}
17
12
  end
18
13
  def __class__
19
- #--{{{
20
14
  AutoOrderedHash
21
- #--}}}
22
15
  end
23
- #--}}}
24
16
  end # class AutoOrderedHash
25
17
 
26
18
  OrderedAutoHash = AutoOrderedHash
@@ -1,3 +1,4 @@
1
+
1
2
  # AUTHOR
2
3
  # jan molic /mig/at/1984/dot/cz/
3
4
  #
@@ -9,13 +10,10 @@
9
10
  # Andrew Johnson for his suggestions and fixes of Hash[],
10
11
  # merge, to_a, inspect and shift
11
12
  class OrderedHash < ::Hash
12
- #--{{{
13
13
  attr_accessor :order
14
14
 
15
15
  class << self
16
- #--{{{
17
16
  def [] *args
18
- #--{{{
19
17
  hsh = OrderedHash.new
20
18
  if Hash === args[0]
21
19
  hsh.replace args[0]
@@ -28,118 +26,81 @@ class OrderedHash < ::Hash
28
26
  end
29
27
  end
30
28
  hsh
31
- #--}}}
32
29
  end
33
- #--}}}
34
30
  end
35
31
  def initialize(*a, &b)
36
- #--{{{
37
32
  super
38
33
  @order = []
39
- #--}}}
40
34
  end
41
35
  def store_only a,b
42
- #--{{{
43
36
  store a,b
44
- #--}}}
45
37
  end
46
38
  alias orig_store store
47
39
  def store a,b
48
- #--{{{
49
40
  @order.push a unless has_key? a
50
41
  super a,b
51
- #--}}}
52
42
  end
53
43
  alias []= store
54
44
  def == hsh2
55
- #--{{{
56
45
  return false if @order != hsh2.order
57
46
  super hsh2
58
- #--}}}
59
47
  end
60
48
  def clear
61
- #--{{{
62
49
  @order = []
63
50
  super
64
- #--}}}
65
51
  end
66
52
  def delete key
67
- #--{{{
68
53
  @order.delete key
69
54
  super
70
- #--}}}
71
55
  end
72
56
  def each_key
73
- #--{{{
74
57
  @order.each { |k| yield k }
75
58
  self
76
- #--}}}
77
59
  end
78
60
  def each_value
79
- #--{{{
80
61
  @order.each { |k| yield self[k] }
81
62
  self
82
- #--}}}
83
63
  end
84
64
  def each
85
- #--{{{
86
65
  @order.each { |k| yield k,self[k] }
87
66
  self
88
- #--}}}
89
67
  end
90
68
  alias each_pair each
91
69
  def delete_if
92
- #--{{{
93
70
  @order.clone.each { |k|
94
- delete k if yield
71
+ delete k if yield(k)
95
72
  }
96
73
  self
97
- #--}}}
98
74
  end
99
75
  def values
100
- #--{{{
101
76
  ary = []
102
77
  @order.each { |k| ary.push self[k] }
103
78
  ary
104
- #--}}}
105
79
  end
106
80
  def keys
107
- #--{{{
108
81
  @order
109
- #--}}}
110
82
  end
111
83
  def invert
112
- #--{{{
113
84
  hsh2 = Hash.new
114
85
  @order.each { |k| hsh2[self[k]] = k }
115
86
  hsh2
116
- #--}}}
117
87
  end
118
88
  def reject &block
119
- #--{{{
120
89
  self.dup.delete_if &block
121
- #--}}}
122
90
  end
123
91
  def reject! &block
124
- #--{{{
125
92
  hsh2 = reject &block
126
93
  self == hsh2 ? nil : hsh2
127
- #--}}}
128
94
  end
129
95
  def replace hsh2
130
- #--{{{
131
96
  @order = hsh2.keys
132
97
  super hsh2
133
- #--}}}
134
98
  end
135
99
  def shift
136
- #--{{{
137
100
  key = @order.first
138
101
  key ? [key,delete(key)] : super
139
- #--}}}
140
102
  end
141
103
  def unshift k,v
142
- #--{{{
143
104
  unless self.include? k
144
105
  @order.unshift k
145
106
  orig_store(k,v)
@@ -147,10 +108,8 @@ class OrderedHash < ::Hash
147
108
  else
148
109
  false
149
110
  end
150
- #--}}}
151
111
  end
152
112
  def push k,v
153
- #--{{{
154
113
  unless self.include? k
155
114
  @order.push k
156
115
  orig_store(k,v)
@@ -158,61 +117,42 @@ class OrderedHash < ::Hash
158
117
  else
159
118
  false
160
119
  end
161
- #--}}}
162
120
  end
163
121
  def pop
164
- #--{{{
165
122
  key = @order.last
166
123
  key ? [key,delete(key)] : nil
167
- #--}}}
168
124
  end
169
125
  def to_a
170
- #--{{{
171
126
  ary = []
172
127
  each { |k,v| ary << [k,v] }
173
128
  ary
174
- #--}}}
175
129
  end
176
130
  def to_s
177
- #--{{{
178
131
  self.to_a.to_s
179
- #--}}}
180
132
  end
181
133
  def inspect
182
- #--{{{
183
134
  ary = []
184
135
  each {|k,v| ary << k.inspect + "=>" + v.inspect}
185
136
  '{' + ary.join(", ") + '}'
186
- #--}}}
187
137
  end
188
138
  def update hsh2
189
- #--{{{
190
139
  hsh2.each { |k,v| self[k] = v }
191
140
  self
192
- #--}}}
193
141
  end
194
142
  alias :merge! update
195
143
  def merge hsh2
196
- #--{{{
197
144
  self.dup update(hsh2)
198
- #--}}}
199
145
  end
200
146
  def select
201
- #--{{{
202
147
  ary = []
203
148
  each { |k,v| ary << [k,v] if yield k,v }
204
149
  ary
205
- #--}}}
206
150
  end
207
151
  def class
208
- #--{{{
209
152
  Hash
210
- #--}}}
211
153
  end
212
154
  def __class__
213
- #--{{{
214
155
  OrderedHash
215
- #--}}}
216
156
  end
217
157
 
218
158
  attr_accessor "to_yaml_style"
@@ -242,5 +182,4 @@ class OrderedHash < ::Hash
242
182
  @__yaml_inline = bool
243
183
  end
244
184
  def yaml_inline!() self.yaml_inline = true end
245
- #--}}}
246
185
  end # class OrderedHash
metadata CHANGED
@@ -1,10 +1,10 @@
1
1
  --- !ruby/object:Gem::Specification
2
- rubygems_version: 0.9.2
2
+ rubygems_version: 0.9.4
3
3
  specification_version: 1
4
4
  name: orderedhash
5
5
  version: !ruby/object:Gem::Version
6
- version: 0.0.2
7
- date: 2007-09-26 00:00:00 -06:00
6
+ version: 0.0.3
7
+ date: 2007-12-06 00:00:00 -07:00
8
8
  summary: orderedhash
9
9
  require_paths:
10
10
  - lib