stringex 2.2.1 → 2.2.2
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.
- checksums.yaml +8 -8
- data/Gemfile +1 -1
- data/VERSION +1 -1
- data/lib/stringex/unidecoder.rb +17 -16
- data/stringex.gemspec +5 -5
- data/test/unit/unicode_point_suite/basic_latin_test.rb +3 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
NDFjMTk3NzM4MjA3YjNjYWYzNzVlYTNhMmU5M2IyNDM1YTAxZDY0OQ==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
OTNhMjhlZmYwYTFjN2E3MmI3ZmQyZDIxNmYwZGQ0NTU3ZjhmNTVmZg==
|
7
7
|
!binary "U0hBNTEy":
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
MjE0YjM3ZDI5NzA1ZWQ4YmI1ZDAwNTMzYWY0MzlhMjFlNWVkYmQ4YzViOWUw
|
10
|
+
MjRjOTQ5ODBmNzE1YTZmYjg2NGZlMDg5MDg0MDgwOWFhZjcxYTNlNDdmMTE1
|
11
|
+
OGIyN2VjN2UyODk2N2IxNzM1YjdiZjYwOWZhZjUzYWYyM2Y2NTY=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
MDZmYTE4OTIzZGIyYTQ1ZTEwNzY5MTIyZTVkNTY0YmY3YmM3ZWNmMTQ1MzEw
|
14
|
+
MzQ5NzM1MTBlMzAyYmM4N2ViNTQwMzFmNGIwNTEzZGE3MzQyYzEyOTlmNDI5
|
15
|
+
ZDFlNmU4ODRhNzQ5ZWVjNTFjM2JkMjYxM2UzOWI2MmRlYTQxMzA=
|
data/Gemfile
CHANGED
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.2.
|
1
|
+
2.2.2
|
data/lib/stringex/unidecoder.rb
CHANGED
@@ -14,20 +14,7 @@ module Stringex
|
|
14
14
|
#
|
15
15
|
# You're probably better off just using the added String#to_ascii
|
16
16
|
def decode(string)
|
17
|
-
string.
|
18
|
-
if localized = translate(codepoint)
|
19
|
-
localized
|
20
|
-
else
|
21
|
-
begin
|
22
|
-
unpacked = codepoint.unpack("U")[0]
|
23
|
-
CODEPOINTS[code_group(unpacked)][grouped_point(unpacked)]
|
24
|
-
rescue
|
25
|
-
# Hopefully this won't come up much
|
26
|
-
# TODO: Make this note something to the user that is reportable to me perhaps
|
27
|
-
"?"
|
28
|
-
end
|
29
|
-
end
|
30
|
-
end
|
17
|
+
string.chars.map{|char| decoded(char)}.join
|
31
18
|
end
|
32
19
|
|
33
20
|
# Returns character for the given Unicode codepoint
|
@@ -49,8 +36,22 @@ module Stringex
|
|
49
36
|
|
50
37
|
private
|
51
38
|
|
52
|
-
def
|
53
|
-
|
39
|
+
def decoded(character)
|
40
|
+
localized(character) || from_yaml(character)
|
41
|
+
end
|
42
|
+
|
43
|
+
def localized(character)
|
44
|
+
Localization.translate(:transliterations, character)
|
45
|
+
end
|
46
|
+
|
47
|
+
def from_yaml(character)
|
48
|
+
return character unless character.ord > 128
|
49
|
+
unpacked = character.unpack("U")[0]
|
50
|
+
CODEPOINTS[code_group(unpacked)][grouped_point(unpacked)]
|
51
|
+
rescue
|
52
|
+
# Hopefully this won't come up much
|
53
|
+
# TODO: Make this note something to the user that is reportable to me perhaps
|
54
|
+
"?"
|
54
55
|
end
|
55
56
|
|
56
57
|
# Returns the Unicode codepoint grouping for the given character
|
data/stringex.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "stringex"
|
8
|
-
s.version = "2.2.
|
8
|
+
s.version = "2.2.2"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Russell Norris"]
|
12
|
-
s.date = "2014-03-
|
12
|
+
s.date = "2014-03-10"
|
13
13
|
s.description = "Some [hopefully] useful extensions to Ruby's String class. Stringex is made up of three libraries: ActsAsUrl [permalink solution with better character translation], Unidecoder [Unicode to ASCII transliteration], and StringExtensions [miscellaneous helper methods for the String class]."
|
14
14
|
s.email = "rsl@luckysneaks.com"
|
15
15
|
s.extra_rdoc_files = [
|
@@ -272,7 +272,7 @@ Gem::Specification.new do |s|
|
|
272
272
|
s.specification_version = 4
|
273
273
|
|
274
274
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
275
|
-
s.add_development_dependency(%q<jeweler>, ["=
|
275
|
+
s.add_development_dependency(%q<jeweler>, ["= 2.0.1"])
|
276
276
|
s.add_development_dependency(%q<travis-lint>, ["= 1.7.0"])
|
277
277
|
s.add_development_dependency(%q<RedCloth>, ["= 4.2.9"])
|
278
278
|
s.add_development_dependency(%q<sqlite3>, ["= 1.3.7"])
|
@@ -280,7 +280,7 @@ Gem::Specification.new do |s|
|
|
280
280
|
s.add_development_dependency(%q<i18n>, ["= 0.6.9"])
|
281
281
|
s.add_development_dependency(%q<i18n>, ["= 0.6.9"])
|
282
282
|
else
|
283
|
-
s.add_dependency(%q<jeweler>, ["=
|
283
|
+
s.add_dependency(%q<jeweler>, ["= 2.0.1"])
|
284
284
|
s.add_dependency(%q<travis-lint>, ["= 1.7.0"])
|
285
285
|
s.add_dependency(%q<RedCloth>, ["= 4.2.9"])
|
286
286
|
s.add_dependency(%q<sqlite3>, ["= 1.3.7"])
|
@@ -289,7 +289,7 @@ Gem::Specification.new do |s|
|
|
289
289
|
s.add_dependency(%q<i18n>, ["= 0.6.9"])
|
290
290
|
end
|
291
291
|
else
|
292
|
-
s.add_dependency(%q<jeweler>, ["=
|
292
|
+
s.add_dependency(%q<jeweler>, ["= 2.0.1"])
|
293
293
|
s.add_dependency(%q<travis-lint>, ["= 1.7.0"])
|
294
294
|
s.add_dependency(%q<RedCloth>, ["= 4.2.9"])
|
295
295
|
s.add_dependency(%q<sqlite3>, ["= 1.3.7"])
|
@@ -108,7 +108,9 @@ class BasicLatinTest < Test::Unit::TestCase
|
|
108
108
|
end
|
109
109
|
|
110
110
|
def test_grave_accents
|
111
|
-
assert_equal_encoded "'", %w{
|
111
|
+
assert_equal_encoded "'", %w{02cb 2035}
|
112
|
+
# Ascii grave accent should remain as ascii!
|
113
|
+
assert_equal_encoded "`", "0060"
|
112
114
|
end
|
113
115
|
|
114
116
|
def test_bars
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: stringex
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.2.
|
4
|
+
version: 2.2.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Russell Norris
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-03-
|
11
|
+
date: 2014-03-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: jeweler
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - '='
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: 2.0.1
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - '='
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
26
|
+
version: 2.0.1
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: travis-lint
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|