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 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