keyword_prospector 0.8.0 → 0.8.1
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/keyword_prospector.rb +22 -0
- data/lib/state.rb +12 -0
- data/spec/keyword_prospector_spec.rb +46 -0
- metadata +2 -2
data/lib/keyword_prospector.rb
CHANGED
@@ -135,6 +135,28 @@ class KeywordProspector
|
|
135
135
|
end
|
136
136
|
end
|
137
137
|
|
138
|
+
def to_hash
|
139
|
+
retval = {}
|
140
|
+
|
141
|
+
each_pair do |x,y|
|
142
|
+
retval[x] = y
|
143
|
+
end
|
144
|
+
|
145
|
+
retval
|
146
|
+
end
|
147
|
+
|
148
|
+
def each_pair(&block)
|
149
|
+
@start.keys.each do |key|
|
150
|
+
next if @start[key] == @start
|
151
|
+
|
152
|
+
@start[key].walk([key.chr], &block)
|
153
|
+
end
|
154
|
+
end
|
155
|
+
|
156
|
+
def inspect
|
157
|
+
to_hash.inspect
|
158
|
+
end
|
159
|
+
|
138
160
|
private
|
139
161
|
WORD_CHARS=[?a..?z, ?A..?Z, ?0..?9, ?_]
|
140
162
|
|
data/lib/state.rb
CHANGED
@@ -229,4 +229,50 @@ describe KeywordProspector do
|
|
229
229
|
end
|
230
230
|
end
|
231
231
|
end
|
232
|
+
|
233
|
+
describe :to_hash do
|
234
|
+
it "should return a hash showing the associations represented" do
|
235
|
+
kp = KeywordProspector.new()
|
236
|
+
|
237
|
+
kp.add('foo', :foo)
|
238
|
+
kp.add('bar', :bar)
|
239
|
+
kp.add('baz', :baz)
|
240
|
+
|
241
|
+
kp.construct_fail
|
242
|
+
|
243
|
+
kp.to_hash.should == {'foo' => :foo, 'bar' => :bar, 'baz' => :baz}
|
244
|
+
end
|
245
|
+
end
|
246
|
+
|
247
|
+
describe :each_pair do
|
248
|
+
it "should call the block, passing in each pair" do
|
249
|
+
kp = KeywordProspector.new()
|
250
|
+
|
251
|
+
kp.add('foo', :foo)
|
252
|
+
kp.add('bar', :bar)
|
253
|
+
kp.add('baz', :baz)
|
254
|
+
|
255
|
+
kp.construct_fail
|
256
|
+
|
257
|
+
target = mock(Object)
|
258
|
+
target.should_receive(:execute).with('foo', :foo)
|
259
|
+
target.should_receive(:execute).with('bar', :bar)
|
260
|
+
target.should_receive(:execute).with('baz', :baz)
|
261
|
+
|
262
|
+
kp.each_pair do |x,y|
|
263
|
+
target.execute(x, y)
|
264
|
+
end
|
265
|
+
end
|
266
|
+
end
|
267
|
+
|
268
|
+
describe :inspect do
|
269
|
+
it "should return the results of to_hash.inspect" do
|
270
|
+
kp = KeywordProspector.new()
|
271
|
+
hash = mock(Object)
|
272
|
+
hash.should_receive(:inspect).and_return(:hash_inspect)
|
273
|
+
kp.should_receive(:to_hash).and_return(hash)
|
274
|
+
|
275
|
+
kp.inspect.should == :hash_inspect
|
276
|
+
end
|
277
|
+
end
|
232
278
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: keyword_prospector
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.8.
|
4
|
+
version: 0.8.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- FIXME full name
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2008-
|
12
|
+
date: 2008-10-07 00:00:00 -07:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|