fuzzyhash 0.0.4 → 0.0.5

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/VERSION.yml CHANGED
@@ -1,4 +1,4 @@
1
1
  ---
2
2
  :minor: 0
3
- :patch: 4
3
+ :patch: 5
4
4
  :major: 0
data/lib/fuzzy_hash.rb CHANGED
@@ -68,7 +68,15 @@ class FuzzyHash
68
68
  end
69
69
 
70
70
  def [](key)
71
- @hash.key?(key) ? @hash[key] : regex_lookup(key)
71
+ @hash.key?(key) ? @hash[key] : (lookup = regex_lookup(key)) && lookup && lookup.first
72
+ end
73
+
74
+ def match_with_result(key)
75
+ if @hash.key?(key)
76
+ [@hash[key], key]
77
+ else
78
+ regex_lookup(key)
79
+ end
72
80
  end
73
81
 
74
82
  private
@@ -79,7 +87,7 @@ class FuzzyHash
79
87
  def regex_lookup(key)
80
88
  if !@regexes.empty? && key.is_a?(String) && (data = regex_test.match(key))
81
89
  (data_array = data.to_a).each_index do |i|
82
- break @regexes[i].last if data_array.at(i+1)
90
+ break [@regexes[i].last, data_array.at(i+1)] if data_array.at(i+1)
83
91
  end
84
92
  end
85
93
  end
@@ -14,6 +14,12 @@ describe "Fuzzy hash" do
14
14
  l['asdqweasd'].should == 'qwe'
15
15
  end
16
16
 
17
+ it "should accept regexs too with the match" do
18
+ l = FuzzyHash.new
19
+ l[/asd.*/] = 'qwe'
20
+ l.match_with_result('asdqweasd').should == ['qwe', 'asdqweasd']
21
+ end
22
+
17
23
  it "should prefer string to regex matches" do
18
24
  l = FuzzyHash.new
19
25
  l['asd'] = 'qwe2'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fuzzyhash
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Joshua Hull
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-06-16 00:00:00 -04:00
12
+ date: 2009-07-21 00:00:00 +09:00
13
13
  default_executable:
14
14
  dependencies: []
15
15