orderedhash 0.0.2 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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