stringex 2.2.1 → 2.2.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- YmQxN2VlYWQ5NTVlYTI2YTdmNjM0OGQyMzQ0YjNhNDJkM2RmNDAwZg==
4
+ NDFjMTk3NzM4MjA3YjNjYWYzNzVlYTNhMmU5M2IyNDM1YTAxZDY0OQ==
5
5
  data.tar.gz: !binary |-
6
- YWExNjcyZGNlNjc3MTM3ZjFkNzNhY2Q1ZTVlMTdjYmU4NDg0OTM1Nw==
6
+ OTNhMjhlZmYwYTFjN2E3MmI3ZmQyZDIxNmYwZGQ0NTU3ZjhmNTVmZg==
7
7
  !binary "U0hBNTEy":
8
8
  metadata.gz: !binary |-
9
- NmVmMTdlMTA0Y2IxMDMxMmZhYzlmYzkwYzk3YTcxM2U3MmM5MDdkZTYxNGU2
10
- NWVhMTE1OWIxYWVlNGZlNmVhYmE3NTQ2YjU5ODViMWZkMTI5NGYwMjVlNmYw
11
- ZTdjMGQzODE4NGY4NTdkYmM5MDMwNTRkYjgwN2M2YmMyYWNiOWY=
9
+ MjE0YjM3ZDI5NzA1ZWQ4YmI1ZDAwNTMzYWY0MzlhMjFlNWVkYmQ4YzViOWUw
10
+ MjRjOTQ5ODBmNzE1YTZmYjg2NGZlMDg5MDg0MDgwOWFhZjcxYTNlNDdmMTE1
11
+ OGIyN2VjN2UyODk2N2IxNzM1YjdiZjYwOWZhZjUzYWYyM2Y2NTY=
12
12
  data.tar.gz: !binary |-
13
- MzQ2ZDk1NTZhZDRmNjIyMTUxNzVjYjIzMjZhYWYyZjA5M2VmMzQ0MmQ3ODUz
14
- ODFlNWQyNjI0NWQyMzM1YjY1MjQzMDk1OTdjMDU4NDJkYjVhMDAzZGE0NzVm
15
- ZTdmMTk4YjZhNDkzYTM1MGVjNWZkZDViZTQ5Njg2ZTg0NGExNDI=
13
+ MDZmYTE4OTIzZGIyYTQ1ZTEwNzY5MTIyZTVkNTY0YmY3YmM3ZWNmMTQ1MzEw
14
+ MzQ5NzM1MTBlMzAyYmM4N2ViNTQwMzFmNGIwNTEzZGE3MzQyYzEyOTlmNDI5
15
+ ZDFlNmU4ODRhNzQ5ZWVjNTFjM2JkMjYxM2UzOWI2MmRlYTQxMzA=
data/Gemfile CHANGED
@@ -23,7 +23,7 @@ end
23
23
 
24
24
  group :development do
25
25
  # Standard gems across gemfiles
26
- gem 'jeweler', '1.8.4'
26
+ gem 'jeweler', '2.0.1'
27
27
  gem 'travis-lint', '1.7.0'
28
28
  # Can I state that I really dislike camelcased gem names?
29
29
  gem 'RedCloth', '4.2.9'
data/VERSION CHANGED
@@ -1 +1 @@
1
- 2.2.1
1
+ 2.2.2
@@ -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.gsub(/[^\x00-\x00]/u) do |codepoint|
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 translate(codepoint)
53
- Localization.translate(:transliterations, codepoint)
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.1"
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-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>, ["= 1.8.4"])
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>, ["= 1.8.4"])
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>, ["= 1.8.4"])
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{0060 02cb 2035}
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.1
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-03 00:00:00.000000000 Z
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: 1.8.4
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: 1.8.4
26
+ version: 2.0.1
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: travis-lint
29
29
  requirement: !ruby/object:Gem::Requirement