mnin-stringex 1.1.1

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.
Files changed (193) hide show
  1. data/MIT-LICENSE +20 -0
  2. data/README.rdoc +76 -0
  3. data/Rakefile +257 -0
  4. data/init.rb +1 -0
  5. data/lib/lucky_sneaks/acts_as_url.rb +90 -0
  6. data/lib/lucky_sneaks/string_extensions.rb +198 -0
  7. data/lib/lucky_sneaks/unidecoder.rb +61 -0
  8. data/lib/lucky_sneaks/unidecoder_data/x00.yml +257 -0
  9. data/lib/lucky_sneaks/unidecoder_data/x01.yml +257 -0
  10. data/lib/lucky_sneaks/unidecoder_data/x02.yml +256 -0
  11. data/lib/lucky_sneaks/unidecoder_data/x03.yml +256 -0
  12. data/lib/lucky_sneaks/unidecoder_data/x04.yml +256 -0
  13. data/lib/lucky_sneaks/unidecoder_data/x05.yml +256 -0
  14. data/lib/lucky_sneaks/unidecoder_data/x06.yml +256 -0
  15. data/lib/lucky_sneaks/unidecoder_data/x07.yml +256 -0
  16. data/lib/lucky_sneaks/unidecoder_data/x09.yml +256 -0
  17. data/lib/lucky_sneaks/unidecoder_data/x0a.yml +256 -0
  18. data/lib/lucky_sneaks/unidecoder_data/x0b.yml +256 -0
  19. data/lib/lucky_sneaks/unidecoder_data/x0c.yml +256 -0
  20. data/lib/lucky_sneaks/unidecoder_data/x0d.yml +256 -0
  21. data/lib/lucky_sneaks/unidecoder_data/x0e.yml +256 -0
  22. data/lib/lucky_sneaks/unidecoder_data/x0f.yml +256 -0
  23. data/lib/lucky_sneaks/unidecoder_data/x10.yml +256 -0
  24. data/lib/lucky_sneaks/unidecoder_data/x11.yml +256 -0
  25. data/lib/lucky_sneaks/unidecoder_data/x12.yml +257 -0
  26. data/lib/lucky_sneaks/unidecoder_data/x13.yml +256 -0
  27. data/lib/lucky_sneaks/unidecoder_data/x14.yml +257 -0
  28. data/lib/lucky_sneaks/unidecoder_data/x15.yml +257 -0
  29. data/lib/lucky_sneaks/unidecoder_data/x16.yml +256 -0
  30. data/lib/lucky_sneaks/unidecoder_data/x17.yml +256 -0
  31. data/lib/lucky_sneaks/unidecoder_data/x18.yml +256 -0
  32. data/lib/lucky_sneaks/unidecoder_data/x1e.yml +256 -0
  33. data/lib/lucky_sneaks/unidecoder_data/x1f.yml +256 -0
  34. data/lib/lucky_sneaks/unidecoder_data/x20.yml +256 -0
  35. data/lib/lucky_sneaks/unidecoder_data/x21.yml +256 -0
  36. data/lib/lucky_sneaks/unidecoder_data/x22.yml +256 -0
  37. data/lib/lucky_sneaks/unidecoder_data/x23.yml +256 -0
  38. data/lib/lucky_sneaks/unidecoder_data/x24.yml +256 -0
  39. data/lib/lucky_sneaks/unidecoder_data/x25.yml +256 -0
  40. data/lib/lucky_sneaks/unidecoder_data/x26.yml +256 -0
  41. data/lib/lucky_sneaks/unidecoder_data/x27.yml +256 -0
  42. data/lib/lucky_sneaks/unidecoder_data/x28.yml +257 -0
  43. data/lib/lucky_sneaks/unidecoder_data/x2e.yml +256 -0
  44. data/lib/lucky_sneaks/unidecoder_data/x2f.yml +256 -0
  45. data/lib/lucky_sneaks/unidecoder_data/x30.yml +256 -0
  46. data/lib/lucky_sneaks/unidecoder_data/x31.yml +256 -0
  47. data/lib/lucky_sneaks/unidecoder_data/x32.yml +256 -0
  48. data/lib/lucky_sneaks/unidecoder_data/x33.yml +256 -0
  49. data/lib/lucky_sneaks/unidecoder_data/x4d.yml +256 -0
  50. data/lib/lucky_sneaks/unidecoder_data/x4e.yml +257 -0
  51. data/lib/lucky_sneaks/unidecoder_data/x4f.yml +257 -0
  52. data/lib/lucky_sneaks/unidecoder_data/x50.yml +257 -0
  53. data/lib/lucky_sneaks/unidecoder_data/x51.yml +257 -0
  54. data/lib/lucky_sneaks/unidecoder_data/x52.yml +257 -0
  55. data/lib/lucky_sneaks/unidecoder_data/x53.yml +257 -0
  56. data/lib/lucky_sneaks/unidecoder_data/x54.yml +257 -0
  57. data/lib/lucky_sneaks/unidecoder_data/x55.yml +257 -0
  58. data/lib/lucky_sneaks/unidecoder_data/x56.yml +257 -0
  59. data/lib/lucky_sneaks/unidecoder_data/x57.yml +257 -0
  60. data/lib/lucky_sneaks/unidecoder_data/x58.yml +257 -0
  61. data/lib/lucky_sneaks/unidecoder_data/x59.yml +257 -0
  62. data/lib/lucky_sneaks/unidecoder_data/x5a.yml +257 -0
  63. data/lib/lucky_sneaks/unidecoder_data/x5b.yml +257 -0
  64. data/lib/lucky_sneaks/unidecoder_data/x5c.yml +257 -0
  65. data/lib/lucky_sneaks/unidecoder_data/x5d.yml +257 -0
  66. data/lib/lucky_sneaks/unidecoder_data/x5e.yml +257 -0
  67. data/lib/lucky_sneaks/unidecoder_data/x5f.yml +257 -0
  68. data/lib/lucky_sneaks/unidecoder_data/x60.yml +257 -0
  69. data/lib/lucky_sneaks/unidecoder_data/x61.yml +257 -0
  70. data/lib/lucky_sneaks/unidecoder_data/x62.yml +257 -0
  71. data/lib/lucky_sneaks/unidecoder_data/x63.yml +257 -0
  72. data/lib/lucky_sneaks/unidecoder_data/x64.yml +257 -0
  73. data/lib/lucky_sneaks/unidecoder_data/x65.yml +257 -0
  74. data/lib/lucky_sneaks/unidecoder_data/x66.yml +257 -0
  75. data/lib/lucky_sneaks/unidecoder_data/x67.yml +257 -0
  76. data/lib/lucky_sneaks/unidecoder_data/x68.yml +257 -0
  77. data/lib/lucky_sneaks/unidecoder_data/x69.yml +257 -0
  78. data/lib/lucky_sneaks/unidecoder_data/x6a.yml +257 -0
  79. data/lib/lucky_sneaks/unidecoder_data/x6b.yml +257 -0
  80. data/lib/lucky_sneaks/unidecoder_data/x6c.yml +257 -0
  81. data/lib/lucky_sneaks/unidecoder_data/x6d.yml +257 -0
  82. data/lib/lucky_sneaks/unidecoder_data/x6e.yml +257 -0
  83. data/lib/lucky_sneaks/unidecoder_data/x6f.yml +257 -0
  84. data/lib/lucky_sneaks/unidecoder_data/x70.yml +257 -0
  85. data/lib/lucky_sneaks/unidecoder_data/x71.yml +257 -0
  86. data/lib/lucky_sneaks/unidecoder_data/x72.yml +257 -0
  87. data/lib/lucky_sneaks/unidecoder_data/x73.yml +257 -0
  88. data/lib/lucky_sneaks/unidecoder_data/x74.yml +257 -0
  89. data/lib/lucky_sneaks/unidecoder_data/x75.yml +257 -0
  90. data/lib/lucky_sneaks/unidecoder_data/x76.yml +257 -0
  91. data/lib/lucky_sneaks/unidecoder_data/x77.yml +257 -0
  92. data/lib/lucky_sneaks/unidecoder_data/x78.yml +257 -0
  93. data/lib/lucky_sneaks/unidecoder_data/x79.yml +257 -0
  94. data/lib/lucky_sneaks/unidecoder_data/x7a.yml +257 -0
  95. data/lib/lucky_sneaks/unidecoder_data/x7b.yml +257 -0
  96. data/lib/lucky_sneaks/unidecoder_data/x7c.yml +257 -0
  97. data/lib/lucky_sneaks/unidecoder_data/x7d.yml +257 -0
  98. data/lib/lucky_sneaks/unidecoder_data/x7e.yml +257 -0
  99. data/lib/lucky_sneaks/unidecoder_data/x7f.yml +257 -0
  100. data/lib/lucky_sneaks/unidecoder_data/x80.yml +257 -0
  101. data/lib/lucky_sneaks/unidecoder_data/x81.yml +257 -0
  102. data/lib/lucky_sneaks/unidecoder_data/x82.yml +257 -0
  103. data/lib/lucky_sneaks/unidecoder_data/x83.yml +257 -0
  104. data/lib/lucky_sneaks/unidecoder_data/x84.yml +257 -0
  105. data/lib/lucky_sneaks/unidecoder_data/x85.yml +257 -0
  106. data/lib/lucky_sneaks/unidecoder_data/x86.yml +257 -0
  107. data/lib/lucky_sneaks/unidecoder_data/x87.yml +257 -0
  108. data/lib/lucky_sneaks/unidecoder_data/x88.yml +257 -0
  109. data/lib/lucky_sneaks/unidecoder_data/x89.yml +257 -0
  110. data/lib/lucky_sneaks/unidecoder_data/x8a.yml +257 -0
  111. data/lib/lucky_sneaks/unidecoder_data/x8b.yml +257 -0
  112. data/lib/lucky_sneaks/unidecoder_data/x8c.yml +257 -0
  113. data/lib/lucky_sneaks/unidecoder_data/x8d.yml +257 -0
  114. data/lib/lucky_sneaks/unidecoder_data/x8e.yml +257 -0
  115. data/lib/lucky_sneaks/unidecoder_data/x8f.yml +257 -0
  116. data/lib/lucky_sneaks/unidecoder_data/x90.yml +257 -0
  117. data/lib/lucky_sneaks/unidecoder_data/x91.yml +257 -0
  118. data/lib/lucky_sneaks/unidecoder_data/x92.yml +257 -0
  119. data/lib/lucky_sneaks/unidecoder_data/x93.yml +257 -0
  120. data/lib/lucky_sneaks/unidecoder_data/x94.yml +257 -0
  121. data/lib/lucky_sneaks/unidecoder_data/x95.yml +257 -0
  122. data/lib/lucky_sneaks/unidecoder_data/x96.yml +257 -0
  123. data/lib/lucky_sneaks/unidecoder_data/x97.yml +257 -0
  124. data/lib/lucky_sneaks/unidecoder_data/x98.yml +257 -0
  125. data/lib/lucky_sneaks/unidecoder_data/x99.yml +257 -0
  126. data/lib/lucky_sneaks/unidecoder_data/x9a.yml +257 -0
  127. data/lib/lucky_sneaks/unidecoder_data/x9b.yml +257 -0
  128. data/lib/lucky_sneaks/unidecoder_data/x9c.yml +257 -0
  129. data/lib/lucky_sneaks/unidecoder_data/x9d.yml +257 -0
  130. data/lib/lucky_sneaks/unidecoder_data/x9e.yml +257 -0
  131. data/lib/lucky_sneaks/unidecoder_data/x9f.yml +256 -0
  132. data/lib/lucky_sneaks/unidecoder_data/xa0.yml +257 -0
  133. data/lib/lucky_sneaks/unidecoder_data/xa1.yml +257 -0
  134. data/lib/lucky_sneaks/unidecoder_data/xa2.yml +257 -0
  135. data/lib/lucky_sneaks/unidecoder_data/xa3.yml +257 -0
  136. data/lib/lucky_sneaks/unidecoder_data/xa4.yml +256 -0
  137. data/lib/lucky_sneaks/unidecoder_data/xac.yml +257 -0
  138. data/lib/lucky_sneaks/unidecoder_data/xad.yml +257 -0
  139. data/lib/lucky_sneaks/unidecoder_data/xae.yml +257 -0
  140. data/lib/lucky_sneaks/unidecoder_data/xaf.yml +257 -0
  141. data/lib/lucky_sneaks/unidecoder_data/xb0.yml +257 -0
  142. data/lib/lucky_sneaks/unidecoder_data/xb1.yml +257 -0
  143. data/lib/lucky_sneaks/unidecoder_data/xb2.yml +257 -0
  144. data/lib/lucky_sneaks/unidecoder_data/xb3.yml +257 -0
  145. data/lib/lucky_sneaks/unidecoder_data/xb4.yml +257 -0
  146. data/lib/lucky_sneaks/unidecoder_data/xb5.yml +257 -0
  147. data/lib/lucky_sneaks/unidecoder_data/xb6.yml +257 -0
  148. data/lib/lucky_sneaks/unidecoder_data/xb7.yml +257 -0
  149. data/lib/lucky_sneaks/unidecoder_data/xb8.yml +257 -0
  150. data/lib/lucky_sneaks/unidecoder_data/xb9.yml +257 -0
  151. data/lib/lucky_sneaks/unidecoder_data/xba.yml +257 -0
  152. data/lib/lucky_sneaks/unidecoder_data/xbb.yml +257 -0
  153. data/lib/lucky_sneaks/unidecoder_data/xbc.yml +257 -0
  154. data/lib/lucky_sneaks/unidecoder_data/xbd.yml +257 -0
  155. data/lib/lucky_sneaks/unidecoder_data/xbe.yml +257 -0
  156. data/lib/lucky_sneaks/unidecoder_data/xbf.yml +257 -0
  157. data/lib/lucky_sneaks/unidecoder_data/xc0.yml +257 -0
  158. data/lib/lucky_sneaks/unidecoder_data/xc1.yml +257 -0
  159. data/lib/lucky_sneaks/unidecoder_data/xc2.yml +257 -0
  160. data/lib/lucky_sneaks/unidecoder_data/xc3.yml +257 -0
  161. data/lib/lucky_sneaks/unidecoder_data/xc4.yml +257 -0
  162. data/lib/lucky_sneaks/unidecoder_data/xc5.yml +257 -0
  163. data/lib/lucky_sneaks/unidecoder_data/xc6.yml +257 -0
  164. data/lib/lucky_sneaks/unidecoder_data/xc7.yml +257 -0
  165. data/lib/lucky_sneaks/unidecoder_data/xc8.yml +257 -0
  166. data/lib/lucky_sneaks/unidecoder_data/xc9.yml +257 -0
  167. data/lib/lucky_sneaks/unidecoder_data/xca.yml +257 -0
  168. data/lib/lucky_sneaks/unidecoder_data/xcb.yml +257 -0
  169. data/lib/lucky_sneaks/unidecoder_data/xcc.yml +257 -0
  170. data/lib/lucky_sneaks/unidecoder_data/xcd.yml +257 -0
  171. data/lib/lucky_sneaks/unidecoder_data/xce.yml +257 -0
  172. data/lib/lucky_sneaks/unidecoder_data/xcf.yml +257 -0
  173. data/lib/lucky_sneaks/unidecoder_data/xd0.yml +257 -0
  174. data/lib/lucky_sneaks/unidecoder_data/xd1.yml +257 -0
  175. data/lib/lucky_sneaks/unidecoder_data/xd2.yml +257 -0
  176. data/lib/lucky_sneaks/unidecoder_data/xd3.yml +257 -0
  177. data/lib/lucky_sneaks/unidecoder_data/xd4.yml +257 -0
  178. data/lib/lucky_sneaks/unidecoder_data/xd5.yml +257 -0
  179. data/lib/lucky_sneaks/unidecoder_data/xd6.yml +257 -0
  180. data/lib/lucky_sneaks/unidecoder_data/xd7.yml +256 -0
  181. data/lib/lucky_sneaks/unidecoder_data/xf9.yml +257 -0
  182. data/lib/lucky_sneaks/unidecoder_data/xfa.yml +256 -0
  183. data/lib/lucky_sneaks/unidecoder_data/xfb.yml +257 -0
  184. data/lib/lucky_sneaks/unidecoder_data/xfc.yml +257 -0
  185. data/lib/lucky_sneaks/unidecoder_data/xfd.yml +256 -0
  186. data/lib/lucky_sneaks/unidecoder_data/xfe.yml +257 -0
  187. data/lib/lucky_sneaks/unidecoder_data/xff.yml +257 -0
  188. data/lib/stringex.rb +9 -0
  189. data/stringex.gemspec +231 -0
  190. data/test/acts_as_url_test.rb +206 -0
  191. data/test/string_extensions_test.rb +160 -0
  192. data/test/unidecoder_test.rb +92 -0
  193. metadata +251 -0
@@ -0,0 +1,92 @@
1
+ # coding: utf-8
2
+
3
+ require "test/unit"
4
+
5
+ $: << File.join(File.dirname(__FILE__), '../lib')
6
+ require File.join(File.dirname(__FILE__), "../init")
7
+
8
+ class UnidecoderTest < Test::Unit::TestCase
9
+ # Silly phrases courtesy of Frank da Cruz
10
+ # http://www.columbia.edu/kermit/utf8.html
11
+ DONT_CONVERT = [
12
+ "Vitrum edere possum; mihi non nocet.", # Latin
13
+ "Je puis mangier del voirre. Ne me nuit.", # Old French
14
+ "Kristala jan dezaket, ez dit minik ematen.", # Basque
15
+ "Kaya kong kumain nang bubog at hindi ako masaktan.", # Tagalog
16
+ "Ich kann Glas essen, ohne mir weh zu tun.", # German
17
+ "I can eat glass and it doesn't hurt me.", # English
18
+ ]
19
+ CONVERT_PAIRS = {
20
+ "Je peux manger du verre, ça ne me fait pas de mal." => # French
21
+ "Je peux manger du verre, ca ne me fait pas de mal.",
22
+ "Pot să mănânc sticlă și ea nu mă rănește." => # Romanian
23
+ "Pot sa mananc sticla si ea nu ma raneste.",
24
+ "Ég get etið gler án þess að meiða mig." => # Icelandic
25
+ "Eg get etid gler an thess ad meida mig.",
26
+ "Unë mund të ha qelq dhe nuk më gjen gjë." => # Albanian
27
+ "Une mund te ha qelq dhe nuk me gjen gje.",
28
+ "Mogę jeść szkło i mi nie szkodzi." => # Polish
29
+ "Moge jesc szklo i mi nie szkodzi.",
30
+ "Я могу есть стекло, оно мне не вредит." => # Russian
31
+ "Ia moghu iest' stieklo, ono mnie nie vriedit.",
32
+ "Мога да ям стъкло, то не ми вреди." => # Bulgarian
33
+ "Mogha da iam stklo, to nie mi vriedi.",
34
+ "ᛁᚳ᛫ᛗᚨᚷ᛫ᚷᛚᚨᛋ᛫ᛖᚩᛏᚪᚾ᛫ᚩᚾᛞ᛫ᚻᛁᛏ᛫ᚾᛖ᛫ᚻᛖᚪᚱᛗᛁᚪᚧ᛫ᛗᛖ᛬" => # Anglo-Saxon
35
+ "ic.mag.glas.eotacn.ond.hit.ne.heacrmiacth.me:",
36
+ "ὕαλον ϕαγεῖν δύναμαι· τοῦτο οὔ με βλάπτει" => # Classical Greek
37
+ "ualon phagein dunamai; touto ou me blaptei",
38
+ "मैं काँच खा सकता हूँ और मुझे उससे कोई चोट नहीं पहुंचती" => # Hindi
39
+ "maiN kaaNc khaa sktaa huuN aur mujhe usse koii cott nhiiN phuNctii",
40
+ "من می توانم بدونِ احساس درد شيشه بخورم" => # Persian
41
+ "mn my twnm bdwni Hss drd shyshh bkhwrm",
42
+ "أنا قادر على أكل الزجاج و هذا لا يؤلمن" => # Arabic
43
+ "'n qdr `l~ 'kl lzjj w hdh l yw'lmn",
44
+ "אני יכול לאכול זכוכית וזה לא מזיק לי" => # Hebrew
45
+ "ny ykvl lkvl zkvkyt vzh l mzyq ly",
46
+ "ฉันกินกระจกได้ แต่มันไม่ทำให้ฉันเจ็บ" => # Thai
47
+ "chankinkracchkaid aetmanaimthamaihchanecchb",
48
+ "我能吞下玻璃而不伤身体。" => # Chinese
49
+ "Wo Neng Tun Xia Bo Li Er Bu Shang Shen Ti . ",
50
+ "私はガラスを食べられます。それは私を傷つけません。" => # Japanese
51
+ "Si hagarasuwoShi beraremasu. sorehaSi woShang tukemasen. "
52
+ }
53
+
54
+ def test_unidecoder_decode
55
+ DONT_CONVERT.each do |ascii|
56
+ assert_equal ascii, LuckySneaks::Unidecoder.decode(ascii)
57
+ end
58
+ CONVERT_PAIRS.each do |unicode, ascii|
59
+ assert_equal ascii, LuckySneaks::Unidecoder.decode(unicode)
60
+ end
61
+ end
62
+
63
+ def test_to_ascii
64
+ DONT_CONVERT.each do |ascii|
65
+ assert_equal ascii, ascii.to_ascii
66
+ end
67
+ CONVERT_PAIRS.each do |unicode, ascii|
68
+ assert_equal ascii, unicode.to_ascii
69
+ end
70
+ end
71
+
72
+ def test_unidecoder_encode
73
+ {
74
+ # Strings
75
+ "0041" => "A",
76
+ "00e6" => "æ",
77
+ "042f" => "Я"
78
+ }.each do |codepoint, unicode|
79
+ assert_equal unicode, LuckySneaks::Unidecoder.encode(codepoint)
80
+ end
81
+ end
82
+
83
+ def test_unidecoder_in_yaml_file
84
+ {
85
+ "A" => "x00.yml (line 67)",
86
+ "π" => "x03.yml (line 194)",
87
+ "Я" => "x04.yml (line 49)"
88
+ }.each do |character, output|
89
+ assert_equal output, LuckySneaks::Unidecoder.in_yaml_file(character)
90
+ end
91
+ end
92
+ end
metadata ADDED
@@ -0,0 +1,251 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: mnin-stringex
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.1.1
5
+ platform: ruby
6
+ authors:
7
+ - Russell Norris
8
+ - Martin Wilhelmi
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+
13
+ date: 2010-01-14 00:00:00 +01:00
14
+ default_executable:
15
+ dependencies: []
16
+
17
+ description: "Some [hopefully] useful extensions to Ruby\xE2\x80\x99s 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]."
18
+ email: rsl@luckysneaks.com
19
+ executables: []
20
+
21
+ extensions: []
22
+
23
+ extra_rdoc_files:
24
+ - MIT-LICENSE
25
+ - README.rdoc
26
+ files:
27
+ - MIT-LICENSE
28
+ - README.rdoc
29
+ - Rakefile
30
+ - init.rb
31
+ - lib/lucky_sneaks/acts_as_url.rb
32
+ - lib/lucky_sneaks/string_extensions.rb
33
+ - lib/lucky_sneaks/unidecoder.rb
34
+ - lib/lucky_sneaks/unidecoder_data/x00.yml
35
+ - lib/lucky_sneaks/unidecoder_data/x01.yml
36
+ - lib/lucky_sneaks/unidecoder_data/x02.yml
37
+ - lib/lucky_sneaks/unidecoder_data/x03.yml
38
+ - lib/lucky_sneaks/unidecoder_data/x04.yml
39
+ - lib/lucky_sneaks/unidecoder_data/x05.yml
40
+ - lib/lucky_sneaks/unidecoder_data/x06.yml
41
+ - lib/lucky_sneaks/unidecoder_data/x07.yml
42
+ - lib/lucky_sneaks/unidecoder_data/x09.yml
43
+ - lib/lucky_sneaks/unidecoder_data/x0a.yml
44
+ - lib/lucky_sneaks/unidecoder_data/x0b.yml
45
+ - lib/lucky_sneaks/unidecoder_data/x0c.yml
46
+ - lib/lucky_sneaks/unidecoder_data/x0d.yml
47
+ - lib/lucky_sneaks/unidecoder_data/x0e.yml
48
+ - lib/lucky_sneaks/unidecoder_data/x0f.yml
49
+ - lib/lucky_sneaks/unidecoder_data/x10.yml
50
+ - lib/lucky_sneaks/unidecoder_data/x11.yml
51
+ - lib/lucky_sneaks/unidecoder_data/x12.yml
52
+ - lib/lucky_sneaks/unidecoder_data/x13.yml
53
+ - lib/lucky_sneaks/unidecoder_data/x14.yml
54
+ - lib/lucky_sneaks/unidecoder_data/x15.yml
55
+ - lib/lucky_sneaks/unidecoder_data/x16.yml
56
+ - lib/lucky_sneaks/unidecoder_data/x17.yml
57
+ - lib/lucky_sneaks/unidecoder_data/x18.yml
58
+ - lib/lucky_sneaks/unidecoder_data/x1e.yml
59
+ - lib/lucky_sneaks/unidecoder_data/x1f.yml
60
+ - lib/lucky_sneaks/unidecoder_data/x20.yml
61
+ - lib/lucky_sneaks/unidecoder_data/x21.yml
62
+ - lib/lucky_sneaks/unidecoder_data/x22.yml
63
+ - lib/lucky_sneaks/unidecoder_data/x23.yml
64
+ - lib/lucky_sneaks/unidecoder_data/x24.yml
65
+ - lib/lucky_sneaks/unidecoder_data/x25.yml
66
+ - lib/lucky_sneaks/unidecoder_data/x26.yml
67
+ - lib/lucky_sneaks/unidecoder_data/x27.yml
68
+ - lib/lucky_sneaks/unidecoder_data/x28.yml
69
+ - lib/lucky_sneaks/unidecoder_data/x2e.yml
70
+ - lib/lucky_sneaks/unidecoder_data/x2f.yml
71
+ - lib/lucky_sneaks/unidecoder_data/x30.yml
72
+ - lib/lucky_sneaks/unidecoder_data/x31.yml
73
+ - lib/lucky_sneaks/unidecoder_data/x32.yml
74
+ - lib/lucky_sneaks/unidecoder_data/x33.yml
75
+ - lib/lucky_sneaks/unidecoder_data/x4d.yml
76
+ - lib/lucky_sneaks/unidecoder_data/x4e.yml
77
+ - lib/lucky_sneaks/unidecoder_data/x4f.yml
78
+ - lib/lucky_sneaks/unidecoder_data/x50.yml
79
+ - lib/lucky_sneaks/unidecoder_data/x51.yml
80
+ - lib/lucky_sneaks/unidecoder_data/x52.yml
81
+ - lib/lucky_sneaks/unidecoder_data/x53.yml
82
+ - lib/lucky_sneaks/unidecoder_data/x54.yml
83
+ - lib/lucky_sneaks/unidecoder_data/x55.yml
84
+ - lib/lucky_sneaks/unidecoder_data/x56.yml
85
+ - lib/lucky_sneaks/unidecoder_data/x57.yml
86
+ - lib/lucky_sneaks/unidecoder_data/x58.yml
87
+ - lib/lucky_sneaks/unidecoder_data/x59.yml
88
+ - lib/lucky_sneaks/unidecoder_data/x5a.yml
89
+ - lib/lucky_sneaks/unidecoder_data/x5b.yml
90
+ - lib/lucky_sneaks/unidecoder_data/x5c.yml
91
+ - lib/lucky_sneaks/unidecoder_data/x5d.yml
92
+ - lib/lucky_sneaks/unidecoder_data/x5e.yml
93
+ - lib/lucky_sneaks/unidecoder_data/x5f.yml
94
+ - lib/lucky_sneaks/unidecoder_data/x60.yml
95
+ - lib/lucky_sneaks/unidecoder_data/x61.yml
96
+ - lib/lucky_sneaks/unidecoder_data/x62.yml
97
+ - lib/lucky_sneaks/unidecoder_data/x63.yml
98
+ - lib/lucky_sneaks/unidecoder_data/x64.yml
99
+ - lib/lucky_sneaks/unidecoder_data/x65.yml
100
+ - lib/lucky_sneaks/unidecoder_data/x66.yml
101
+ - lib/lucky_sneaks/unidecoder_data/x67.yml
102
+ - lib/lucky_sneaks/unidecoder_data/x68.yml
103
+ - lib/lucky_sneaks/unidecoder_data/x69.yml
104
+ - lib/lucky_sneaks/unidecoder_data/x6a.yml
105
+ - lib/lucky_sneaks/unidecoder_data/x6b.yml
106
+ - lib/lucky_sneaks/unidecoder_data/x6c.yml
107
+ - lib/lucky_sneaks/unidecoder_data/x6d.yml
108
+ - lib/lucky_sneaks/unidecoder_data/x6e.yml
109
+ - lib/lucky_sneaks/unidecoder_data/x6f.yml
110
+ - lib/lucky_sneaks/unidecoder_data/x70.yml
111
+ - lib/lucky_sneaks/unidecoder_data/x71.yml
112
+ - lib/lucky_sneaks/unidecoder_data/x72.yml
113
+ - lib/lucky_sneaks/unidecoder_data/x73.yml
114
+ - lib/lucky_sneaks/unidecoder_data/x74.yml
115
+ - lib/lucky_sneaks/unidecoder_data/x75.yml
116
+ - lib/lucky_sneaks/unidecoder_data/x76.yml
117
+ - lib/lucky_sneaks/unidecoder_data/x77.yml
118
+ - lib/lucky_sneaks/unidecoder_data/x78.yml
119
+ - lib/lucky_sneaks/unidecoder_data/x79.yml
120
+ - lib/lucky_sneaks/unidecoder_data/x7a.yml
121
+ - lib/lucky_sneaks/unidecoder_data/x7b.yml
122
+ - lib/lucky_sneaks/unidecoder_data/x7c.yml
123
+ - lib/lucky_sneaks/unidecoder_data/x7d.yml
124
+ - lib/lucky_sneaks/unidecoder_data/x7e.yml
125
+ - lib/lucky_sneaks/unidecoder_data/x7f.yml
126
+ - lib/lucky_sneaks/unidecoder_data/x80.yml
127
+ - lib/lucky_sneaks/unidecoder_data/x81.yml
128
+ - lib/lucky_sneaks/unidecoder_data/x82.yml
129
+ - lib/lucky_sneaks/unidecoder_data/x83.yml
130
+ - lib/lucky_sneaks/unidecoder_data/x84.yml
131
+ - lib/lucky_sneaks/unidecoder_data/x85.yml
132
+ - lib/lucky_sneaks/unidecoder_data/x86.yml
133
+ - lib/lucky_sneaks/unidecoder_data/x87.yml
134
+ - lib/lucky_sneaks/unidecoder_data/x88.yml
135
+ - lib/lucky_sneaks/unidecoder_data/x89.yml
136
+ - lib/lucky_sneaks/unidecoder_data/x8a.yml
137
+ - lib/lucky_sneaks/unidecoder_data/x8b.yml
138
+ - lib/lucky_sneaks/unidecoder_data/x8c.yml
139
+ - lib/lucky_sneaks/unidecoder_data/x8d.yml
140
+ - lib/lucky_sneaks/unidecoder_data/x8e.yml
141
+ - lib/lucky_sneaks/unidecoder_data/x8f.yml
142
+ - lib/lucky_sneaks/unidecoder_data/x90.yml
143
+ - lib/lucky_sneaks/unidecoder_data/x91.yml
144
+ - lib/lucky_sneaks/unidecoder_data/x92.yml
145
+ - lib/lucky_sneaks/unidecoder_data/x93.yml
146
+ - lib/lucky_sneaks/unidecoder_data/x94.yml
147
+ - lib/lucky_sneaks/unidecoder_data/x95.yml
148
+ - lib/lucky_sneaks/unidecoder_data/x96.yml
149
+ - lib/lucky_sneaks/unidecoder_data/x97.yml
150
+ - lib/lucky_sneaks/unidecoder_data/x98.yml
151
+ - lib/lucky_sneaks/unidecoder_data/x99.yml
152
+ - lib/lucky_sneaks/unidecoder_data/x9a.yml
153
+ - lib/lucky_sneaks/unidecoder_data/x9b.yml
154
+ - lib/lucky_sneaks/unidecoder_data/x9c.yml
155
+ - lib/lucky_sneaks/unidecoder_data/x9d.yml
156
+ - lib/lucky_sneaks/unidecoder_data/x9e.yml
157
+ - lib/lucky_sneaks/unidecoder_data/x9f.yml
158
+ - lib/lucky_sneaks/unidecoder_data/xa0.yml
159
+ - lib/lucky_sneaks/unidecoder_data/xa1.yml
160
+ - lib/lucky_sneaks/unidecoder_data/xa2.yml
161
+ - lib/lucky_sneaks/unidecoder_data/xa3.yml
162
+ - lib/lucky_sneaks/unidecoder_data/xa4.yml
163
+ - lib/lucky_sneaks/unidecoder_data/xac.yml
164
+ - lib/lucky_sneaks/unidecoder_data/xad.yml
165
+ - lib/lucky_sneaks/unidecoder_data/xae.yml
166
+ - lib/lucky_sneaks/unidecoder_data/xaf.yml
167
+ - lib/lucky_sneaks/unidecoder_data/xb0.yml
168
+ - lib/lucky_sneaks/unidecoder_data/xb1.yml
169
+ - lib/lucky_sneaks/unidecoder_data/xb2.yml
170
+ - lib/lucky_sneaks/unidecoder_data/xb3.yml
171
+ - lib/lucky_sneaks/unidecoder_data/xb4.yml
172
+ - lib/lucky_sneaks/unidecoder_data/xb5.yml
173
+ - lib/lucky_sneaks/unidecoder_data/xb6.yml
174
+ - lib/lucky_sneaks/unidecoder_data/xb7.yml
175
+ - lib/lucky_sneaks/unidecoder_data/xb8.yml
176
+ - lib/lucky_sneaks/unidecoder_data/xb9.yml
177
+ - lib/lucky_sneaks/unidecoder_data/xba.yml
178
+ - lib/lucky_sneaks/unidecoder_data/xbb.yml
179
+ - lib/lucky_sneaks/unidecoder_data/xbc.yml
180
+ - lib/lucky_sneaks/unidecoder_data/xbd.yml
181
+ - lib/lucky_sneaks/unidecoder_data/xbe.yml
182
+ - lib/lucky_sneaks/unidecoder_data/xbf.yml
183
+ - lib/lucky_sneaks/unidecoder_data/xc0.yml
184
+ - lib/lucky_sneaks/unidecoder_data/xc1.yml
185
+ - lib/lucky_sneaks/unidecoder_data/xc2.yml
186
+ - lib/lucky_sneaks/unidecoder_data/xc3.yml
187
+ - lib/lucky_sneaks/unidecoder_data/xc4.yml
188
+ - lib/lucky_sneaks/unidecoder_data/xc5.yml
189
+ - lib/lucky_sneaks/unidecoder_data/xc6.yml
190
+ - lib/lucky_sneaks/unidecoder_data/xc7.yml
191
+ - lib/lucky_sneaks/unidecoder_data/xc8.yml
192
+ - lib/lucky_sneaks/unidecoder_data/xc9.yml
193
+ - lib/lucky_sneaks/unidecoder_data/xca.yml
194
+ - lib/lucky_sneaks/unidecoder_data/xcb.yml
195
+ - lib/lucky_sneaks/unidecoder_data/xcc.yml
196
+ - lib/lucky_sneaks/unidecoder_data/xcd.yml
197
+ - lib/lucky_sneaks/unidecoder_data/xce.yml
198
+ - lib/lucky_sneaks/unidecoder_data/xcf.yml
199
+ - lib/lucky_sneaks/unidecoder_data/xd0.yml
200
+ - lib/lucky_sneaks/unidecoder_data/xd1.yml
201
+ - lib/lucky_sneaks/unidecoder_data/xd2.yml
202
+ - lib/lucky_sneaks/unidecoder_data/xd3.yml
203
+ - lib/lucky_sneaks/unidecoder_data/xd4.yml
204
+ - lib/lucky_sneaks/unidecoder_data/xd5.yml
205
+ - lib/lucky_sneaks/unidecoder_data/xd6.yml
206
+ - lib/lucky_sneaks/unidecoder_data/xd7.yml
207
+ - lib/lucky_sneaks/unidecoder_data/xf9.yml
208
+ - lib/lucky_sneaks/unidecoder_data/xfa.yml
209
+ - lib/lucky_sneaks/unidecoder_data/xfb.yml
210
+ - lib/lucky_sneaks/unidecoder_data/xfc.yml
211
+ - lib/lucky_sneaks/unidecoder_data/xfd.yml
212
+ - lib/lucky_sneaks/unidecoder_data/xfe.yml
213
+ - lib/lucky_sneaks/unidecoder_data/xff.yml
214
+ - lib/stringex.rb
215
+ - stringex.gemspec
216
+ has_rdoc: true
217
+ homepage: http://github.com/mnin/stringex
218
+ licenses: []
219
+
220
+ post_install_message:
221
+ rdoc_options:
222
+ - --main
223
+ - README.rdoc
224
+ - --charset
225
+ - utf-8
226
+ - --line-numbers
227
+ require_paths:
228
+ - lib
229
+ required_ruby_version: !ruby/object:Gem::Requirement
230
+ requirements:
231
+ - - ">="
232
+ - !ruby/object:Gem::Version
233
+ version: "0"
234
+ version:
235
+ required_rubygems_version: !ruby/object:Gem::Requirement
236
+ requirements:
237
+ - - ">="
238
+ - !ruby/object:Gem::Version
239
+ version: "0"
240
+ version:
241
+ requirements: []
242
+
243
+ rubyforge_project: stringex
244
+ rubygems_version: 1.3.5
245
+ signing_key:
246
+ specification_version: 3
247
+ summary: "Some [hopefully] useful extensions to Ruby\xE2\x80\x99s String class"
248
+ test_files:
249
+ - test/acts_as_url_test.rb
250
+ - test/string_extensions_test.rb
251
+ - test/unidecoder_test.rb