cassiopee 0.1.10 → 0.1.11

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. data/Changelog +1 -0
  2. data/lib/cassiopee.rb +10 -10
  3. metadata +6 -8
data/Changelog CHANGED
@@ -1,3 +1,4 @@
1
+ v0.1.11: fix match to text 1.2
1
2
  v0.1.9: move demos to bin, to be dir compliant
2
3
  v0.1.8: remove rubygems dependency in code.
3
4
  v0.1.7: Fix in ambiguity management
data/lib/cassiopee.rb CHANGED
@@ -78,23 +78,23 @@ module Cassiopee
78
78
 
79
79
  end
80
80
 
81
- private
82
81
 
83
82
  # Compute Levenshtein distance but using a mapping matrix of alphabet ambiguity
84
83
  # Code comes from Text gem, Text::Levenshtein.distance, adapted for ambiguity comparison
85
84
 
86
85
  def computeLevenshteinAmbiguous(pattern, edit, ambiguous)
87
-
88
- encoding = defined?(Encoding) ? self.encoding.to_s : $KCODE
89
86
 
90
- if Text.encoding_of(self) =~ /^U/i
91
- unpack_rule = 'U*'
92
- else
93
- unpack_rule = 'C*'
94
- end
87
+ prepare =
88
+ if "ruby".respond_to?(:encoding)
89
+ lambda { |str| str.encode(Encoding::UTF_8).unpack("U*") }
90
+ else
91
+ rule = $KCODE.match(/^U/i) ? "U*" : "C*"
92
+ lambda { |str| str.unpack(rule) }
93
+ end
95
94
 
96
- s = self.unpack(unpack_rule)
97
- t = pattern.unpack(unpack_rule)
95
+ s, t = [self, pattern].map(&prepare)
96
+
97
+
98
98
  n = s.length
99
99
  m = t.length
100
100
  return m if (0 == n)
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cassiopee
3
3
  version: !ruby/object:Gem::Version
4
- hash: 15
5
- prerelease: false
4
+ hash: 13
5
+ prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 1
9
- - 10
10
- version: 0.1.10
9
+ - 11
10
+ version: 0.1.11
11
11
  platform: ruby
12
12
  authors:
13
13
  - Olivier Sallou
@@ -15,8 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2012-06-14 00:00:00 +02:00
19
- default_executable:
18
+ date: 2013-10-04 00:00:00 Z
20
19
  dependencies:
21
20
  - !ruby/object:Gem::Dependency
22
21
  name: text
@@ -53,7 +52,6 @@ files:
53
52
  - bin/cassie.rb
54
53
  - tests/test-suite.rb
55
54
  - tests/amb.map
56
- has_rdoc: true
57
55
  homepage: https://github.com/osallou/cassiopee
58
56
  licenses:
59
57
  - LGPL-3
@@ -83,7 +81,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
83
81
  requirements: []
84
82
 
85
83
  rubyforge_project:
86
- rubygems_version: 1.3.7
84
+ rubygems_version: 1.8.15
87
85
  signing_key:
88
86
  specification_version: 3
89
87
  summary: Cassiopee index strings and provide exact or approximate search.