stringex 1.3.0 → 1.3.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (189) hide show
  1. data/README.rdoc +35 -22
  2. data/Rakefile +2 -2
  3. data/lib/stringex.rb +5 -5
  4. data/stringex.gemspec +3 -186
  5. data/test/unidecoder_test.rb +4 -4
  6. metadata +5 -188
  7. data/lib/lucky_sneaks/acts_as_url.rb +0 -105
  8. data/lib/lucky_sneaks/string_extensions.rb +0 -196
  9. data/lib/lucky_sneaks/unidecoder.rb +0 -62
  10. data/lib/lucky_sneaks/unidecoder_data/x00.yml +0 -257
  11. data/lib/lucky_sneaks/unidecoder_data/x01.yml +0 -257
  12. data/lib/lucky_sneaks/unidecoder_data/x02.yml +0 -256
  13. data/lib/lucky_sneaks/unidecoder_data/x03.yml +0 -256
  14. data/lib/lucky_sneaks/unidecoder_data/x04.yml +0 -256
  15. data/lib/lucky_sneaks/unidecoder_data/x05.yml +0 -256
  16. data/lib/lucky_sneaks/unidecoder_data/x06.yml +0 -256
  17. data/lib/lucky_sneaks/unidecoder_data/x07.yml +0 -256
  18. data/lib/lucky_sneaks/unidecoder_data/x09.yml +0 -256
  19. data/lib/lucky_sneaks/unidecoder_data/x0a.yml +0 -256
  20. data/lib/lucky_sneaks/unidecoder_data/x0b.yml +0 -256
  21. data/lib/lucky_sneaks/unidecoder_data/x0c.yml +0 -256
  22. data/lib/lucky_sneaks/unidecoder_data/x0d.yml +0 -256
  23. data/lib/lucky_sneaks/unidecoder_data/x0e.yml +0 -256
  24. data/lib/lucky_sneaks/unidecoder_data/x0f.yml +0 -256
  25. data/lib/lucky_sneaks/unidecoder_data/x10.yml +0 -256
  26. data/lib/lucky_sneaks/unidecoder_data/x11.yml +0 -256
  27. data/lib/lucky_sneaks/unidecoder_data/x12.yml +0 -257
  28. data/lib/lucky_sneaks/unidecoder_data/x13.yml +0 -256
  29. data/lib/lucky_sneaks/unidecoder_data/x14.yml +0 -257
  30. data/lib/lucky_sneaks/unidecoder_data/x15.yml +0 -257
  31. data/lib/lucky_sneaks/unidecoder_data/x16.yml +0 -256
  32. data/lib/lucky_sneaks/unidecoder_data/x17.yml +0 -256
  33. data/lib/lucky_sneaks/unidecoder_data/x18.yml +0 -256
  34. data/lib/lucky_sneaks/unidecoder_data/x1e.yml +0 -256
  35. data/lib/lucky_sneaks/unidecoder_data/x1f.yml +0 -256
  36. data/lib/lucky_sneaks/unidecoder_data/x20.yml +0 -256
  37. data/lib/lucky_sneaks/unidecoder_data/x21.yml +0 -256
  38. data/lib/lucky_sneaks/unidecoder_data/x22.yml +0 -256
  39. data/lib/lucky_sneaks/unidecoder_data/x23.yml +0 -256
  40. data/lib/lucky_sneaks/unidecoder_data/x24.yml +0 -256
  41. data/lib/lucky_sneaks/unidecoder_data/x25.yml +0 -256
  42. data/lib/lucky_sneaks/unidecoder_data/x26.yml +0 -256
  43. data/lib/lucky_sneaks/unidecoder_data/x27.yml +0 -256
  44. data/lib/lucky_sneaks/unidecoder_data/x28.yml +0 -257
  45. data/lib/lucky_sneaks/unidecoder_data/x2e.yml +0 -256
  46. data/lib/lucky_sneaks/unidecoder_data/x2f.yml +0 -256
  47. data/lib/lucky_sneaks/unidecoder_data/x30.yml +0 -256
  48. data/lib/lucky_sneaks/unidecoder_data/x31.yml +0 -256
  49. data/lib/lucky_sneaks/unidecoder_data/x32.yml +0 -256
  50. data/lib/lucky_sneaks/unidecoder_data/x33.yml +0 -256
  51. data/lib/lucky_sneaks/unidecoder_data/x4d.yml +0 -256
  52. data/lib/lucky_sneaks/unidecoder_data/x4e.yml +0 -257
  53. data/lib/lucky_sneaks/unidecoder_data/x4f.yml +0 -257
  54. data/lib/lucky_sneaks/unidecoder_data/x50.yml +0 -257
  55. data/lib/lucky_sneaks/unidecoder_data/x51.yml +0 -257
  56. data/lib/lucky_sneaks/unidecoder_data/x52.yml +0 -257
  57. data/lib/lucky_sneaks/unidecoder_data/x53.yml +0 -257
  58. data/lib/lucky_sneaks/unidecoder_data/x54.yml +0 -257
  59. data/lib/lucky_sneaks/unidecoder_data/x55.yml +0 -257
  60. data/lib/lucky_sneaks/unidecoder_data/x56.yml +0 -257
  61. data/lib/lucky_sneaks/unidecoder_data/x57.yml +0 -257
  62. data/lib/lucky_sneaks/unidecoder_data/x58.yml +0 -257
  63. data/lib/lucky_sneaks/unidecoder_data/x59.yml +0 -257
  64. data/lib/lucky_sneaks/unidecoder_data/x5a.yml +0 -257
  65. data/lib/lucky_sneaks/unidecoder_data/x5b.yml +0 -257
  66. data/lib/lucky_sneaks/unidecoder_data/x5c.yml +0 -257
  67. data/lib/lucky_sneaks/unidecoder_data/x5d.yml +0 -257
  68. data/lib/lucky_sneaks/unidecoder_data/x5e.yml +0 -257
  69. data/lib/lucky_sneaks/unidecoder_data/x5f.yml +0 -257
  70. data/lib/lucky_sneaks/unidecoder_data/x60.yml +0 -257
  71. data/lib/lucky_sneaks/unidecoder_data/x61.yml +0 -257
  72. data/lib/lucky_sneaks/unidecoder_data/x62.yml +0 -257
  73. data/lib/lucky_sneaks/unidecoder_data/x63.yml +0 -257
  74. data/lib/lucky_sneaks/unidecoder_data/x64.yml +0 -257
  75. data/lib/lucky_sneaks/unidecoder_data/x65.yml +0 -257
  76. data/lib/lucky_sneaks/unidecoder_data/x66.yml +0 -257
  77. data/lib/lucky_sneaks/unidecoder_data/x67.yml +0 -257
  78. data/lib/lucky_sneaks/unidecoder_data/x68.yml +0 -257
  79. data/lib/lucky_sneaks/unidecoder_data/x69.yml +0 -257
  80. data/lib/lucky_sneaks/unidecoder_data/x6a.yml +0 -257
  81. data/lib/lucky_sneaks/unidecoder_data/x6b.yml +0 -257
  82. data/lib/lucky_sneaks/unidecoder_data/x6c.yml +0 -257
  83. data/lib/lucky_sneaks/unidecoder_data/x6d.yml +0 -257
  84. data/lib/lucky_sneaks/unidecoder_data/x6e.yml +0 -257
  85. data/lib/lucky_sneaks/unidecoder_data/x6f.yml +0 -257
  86. data/lib/lucky_sneaks/unidecoder_data/x70.yml +0 -257
  87. data/lib/lucky_sneaks/unidecoder_data/x71.yml +0 -257
  88. data/lib/lucky_sneaks/unidecoder_data/x72.yml +0 -257
  89. data/lib/lucky_sneaks/unidecoder_data/x73.yml +0 -257
  90. data/lib/lucky_sneaks/unidecoder_data/x74.yml +0 -257
  91. data/lib/lucky_sneaks/unidecoder_data/x75.yml +0 -257
  92. data/lib/lucky_sneaks/unidecoder_data/x76.yml +0 -257
  93. data/lib/lucky_sneaks/unidecoder_data/x77.yml +0 -257
  94. data/lib/lucky_sneaks/unidecoder_data/x78.yml +0 -257
  95. data/lib/lucky_sneaks/unidecoder_data/x79.yml +0 -257
  96. data/lib/lucky_sneaks/unidecoder_data/x7a.yml +0 -257
  97. data/lib/lucky_sneaks/unidecoder_data/x7b.yml +0 -257
  98. data/lib/lucky_sneaks/unidecoder_data/x7c.yml +0 -257
  99. data/lib/lucky_sneaks/unidecoder_data/x7d.yml +0 -257
  100. data/lib/lucky_sneaks/unidecoder_data/x7e.yml +0 -257
  101. data/lib/lucky_sneaks/unidecoder_data/x7f.yml +0 -257
  102. data/lib/lucky_sneaks/unidecoder_data/x80.yml +0 -257
  103. data/lib/lucky_sneaks/unidecoder_data/x81.yml +0 -257
  104. data/lib/lucky_sneaks/unidecoder_data/x82.yml +0 -257
  105. data/lib/lucky_sneaks/unidecoder_data/x83.yml +0 -257
  106. data/lib/lucky_sneaks/unidecoder_data/x84.yml +0 -257
  107. data/lib/lucky_sneaks/unidecoder_data/x85.yml +0 -257
  108. data/lib/lucky_sneaks/unidecoder_data/x86.yml +0 -257
  109. data/lib/lucky_sneaks/unidecoder_data/x87.yml +0 -257
  110. data/lib/lucky_sneaks/unidecoder_data/x88.yml +0 -257
  111. data/lib/lucky_sneaks/unidecoder_data/x89.yml +0 -257
  112. data/lib/lucky_sneaks/unidecoder_data/x8a.yml +0 -257
  113. data/lib/lucky_sneaks/unidecoder_data/x8b.yml +0 -257
  114. data/lib/lucky_sneaks/unidecoder_data/x8c.yml +0 -257
  115. data/lib/lucky_sneaks/unidecoder_data/x8d.yml +0 -257
  116. data/lib/lucky_sneaks/unidecoder_data/x8e.yml +0 -257
  117. data/lib/lucky_sneaks/unidecoder_data/x8f.yml +0 -257
  118. data/lib/lucky_sneaks/unidecoder_data/x90.yml +0 -257
  119. data/lib/lucky_sneaks/unidecoder_data/x91.yml +0 -257
  120. data/lib/lucky_sneaks/unidecoder_data/x92.yml +0 -257
  121. data/lib/lucky_sneaks/unidecoder_data/x93.yml +0 -257
  122. data/lib/lucky_sneaks/unidecoder_data/x94.yml +0 -257
  123. data/lib/lucky_sneaks/unidecoder_data/x95.yml +0 -257
  124. data/lib/lucky_sneaks/unidecoder_data/x96.yml +0 -257
  125. data/lib/lucky_sneaks/unidecoder_data/x97.yml +0 -257
  126. data/lib/lucky_sneaks/unidecoder_data/x98.yml +0 -257
  127. data/lib/lucky_sneaks/unidecoder_data/x99.yml +0 -257
  128. data/lib/lucky_sneaks/unidecoder_data/x9a.yml +0 -257
  129. data/lib/lucky_sneaks/unidecoder_data/x9b.yml +0 -257
  130. data/lib/lucky_sneaks/unidecoder_data/x9c.yml +0 -257
  131. data/lib/lucky_sneaks/unidecoder_data/x9d.yml +0 -257
  132. data/lib/lucky_sneaks/unidecoder_data/x9e.yml +0 -257
  133. data/lib/lucky_sneaks/unidecoder_data/x9f.yml +0 -256
  134. data/lib/lucky_sneaks/unidecoder_data/xa0.yml +0 -257
  135. data/lib/lucky_sneaks/unidecoder_data/xa1.yml +0 -257
  136. data/lib/lucky_sneaks/unidecoder_data/xa2.yml +0 -257
  137. data/lib/lucky_sneaks/unidecoder_data/xa3.yml +0 -257
  138. data/lib/lucky_sneaks/unidecoder_data/xa4.yml +0 -256
  139. data/lib/lucky_sneaks/unidecoder_data/xac.yml +0 -257
  140. data/lib/lucky_sneaks/unidecoder_data/xad.yml +0 -257
  141. data/lib/lucky_sneaks/unidecoder_data/xae.yml +0 -257
  142. data/lib/lucky_sneaks/unidecoder_data/xaf.yml +0 -257
  143. data/lib/lucky_sneaks/unidecoder_data/xb0.yml +0 -257
  144. data/lib/lucky_sneaks/unidecoder_data/xb1.yml +0 -257
  145. data/lib/lucky_sneaks/unidecoder_data/xb2.yml +0 -257
  146. data/lib/lucky_sneaks/unidecoder_data/xb3.yml +0 -257
  147. data/lib/lucky_sneaks/unidecoder_data/xb4.yml +0 -257
  148. data/lib/lucky_sneaks/unidecoder_data/xb5.yml +0 -257
  149. data/lib/lucky_sneaks/unidecoder_data/xb6.yml +0 -257
  150. data/lib/lucky_sneaks/unidecoder_data/xb7.yml +0 -257
  151. data/lib/lucky_sneaks/unidecoder_data/xb8.yml +0 -257
  152. data/lib/lucky_sneaks/unidecoder_data/xb9.yml +0 -257
  153. data/lib/lucky_sneaks/unidecoder_data/xba.yml +0 -257
  154. data/lib/lucky_sneaks/unidecoder_data/xbb.yml +0 -257
  155. data/lib/lucky_sneaks/unidecoder_data/xbc.yml +0 -257
  156. data/lib/lucky_sneaks/unidecoder_data/xbd.yml +0 -257
  157. data/lib/lucky_sneaks/unidecoder_data/xbe.yml +0 -257
  158. data/lib/lucky_sneaks/unidecoder_data/xbf.yml +0 -257
  159. data/lib/lucky_sneaks/unidecoder_data/xc0.yml +0 -257
  160. data/lib/lucky_sneaks/unidecoder_data/xc1.yml +0 -257
  161. data/lib/lucky_sneaks/unidecoder_data/xc2.yml +0 -257
  162. data/lib/lucky_sneaks/unidecoder_data/xc3.yml +0 -257
  163. data/lib/lucky_sneaks/unidecoder_data/xc4.yml +0 -257
  164. data/lib/lucky_sneaks/unidecoder_data/xc5.yml +0 -257
  165. data/lib/lucky_sneaks/unidecoder_data/xc6.yml +0 -257
  166. data/lib/lucky_sneaks/unidecoder_data/xc7.yml +0 -257
  167. data/lib/lucky_sneaks/unidecoder_data/xc8.yml +0 -257
  168. data/lib/lucky_sneaks/unidecoder_data/xc9.yml +0 -257
  169. data/lib/lucky_sneaks/unidecoder_data/xca.yml +0 -257
  170. data/lib/lucky_sneaks/unidecoder_data/xcb.yml +0 -257
  171. data/lib/lucky_sneaks/unidecoder_data/xcc.yml +0 -257
  172. data/lib/lucky_sneaks/unidecoder_data/xcd.yml +0 -257
  173. data/lib/lucky_sneaks/unidecoder_data/xce.yml +0 -257
  174. data/lib/lucky_sneaks/unidecoder_data/xcf.yml +0 -257
  175. data/lib/lucky_sneaks/unidecoder_data/xd0.yml +0 -257
  176. data/lib/lucky_sneaks/unidecoder_data/xd1.yml +0 -257
  177. data/lib/lucky_sneaks/unidecoder_data/xd2.yml +0 -257
  178. data/lib/lucky_sneaks/unidecoder_data/xd3.yml +0 -257
  179. data/lib/lucky_sneaks/unidecoder_data/xd4.yml +0 -257
  180. data/lib/lucky_sneaks/unidecoder_data/xd5.yml +0 -257
  181. data/lib/lucky_sneaks/unidecoder_data/xd6.yml +0 -257
  182. data/lib/lucky_sneaks/unidecoder_data/xd7.yml +0 -256
  183. data/lib/lucky_sneaks/unidecoder_data/xf9.yml +0 -257
  184. data/lib/lucky_sneaks/unidecoder_data/xfa.yml +0 -256
  185. data/lib/lucky_sneaks/unidecoder_data/xfb.yml +0 -257
  186. data/lib/lucky_sneaks/unidecoder_data/xfc.yml +0 -257
  187. data/lib/lucky_sneaks/unidecoder_data/xfd.yml +0 -256
  188. data/lib/lucky_sneaks/unidecoder_data/xfe.yml +0 -257
  189. data/lib/lucky_sneaks/unidecoder_data/xff.yml +0 -257
data/README.rdoc CHANGED
@@ -14,47 +14,50 @@ which will populate the <tt>url</tt> attribute on the object with the converted
14
14
  <tt>:url_attribute</tt>:: The name of the attribute to use for storing the generated url string.
15
15
  Default is <tt>:url</tt>
16
16
  <tt>:scope</tt>:: The name of model attribute to scope unique urls to. There is no default here.
17
- <tt>:only_when_blank</tt>:: If true, the url generation will only happen when <tt>:url_attribute</tt> is
17
+ <tt>:only_when_blank</tt>:: If true, the url generation will only happen when <tt>:url_attribute</tt> is
18
18
  blank. Default is false (meaning url generation will happen always)
19
19
  <tt>:sync_url</tt>:: If set to true, the url field will be updated when changes are made to the
20
20
  attribute it is based on. Default is false.
21
-
21
+ <tt>:allow_slash</tt>:: If set to true, the url field will not convert slashes. Default is false.
22
+
22
23
  In order to use the generated url attribute, you will probably want to override <tt>to_param</tt> like so, in your Model:
23
24
 
24
25
  # Inside your model
25
26
  def to_param
26
27
  url # or whatever you set :url_attribute to
27
28
  end
28
-
29
+
29
30
  Routing called via named routes like <tt>foo_path(@foo)</tt> will automatically use the url. In your controllers you will need to call <tt>Foo.find_by_url(params[:id])</tt> instead of the regular find. Don't look for <tt>params[:url]</tt> unless you set it explicitly in the routing, <tt>to_param</tt> will generate <tt>params[:id]</tt>.
30
31
 
32
+ Note that if you add <tt>acts_as_url</tt> to an old model, the <tt>url</tt> database column will inititally be blank. To set this column for your old instances, you can use the <tt>initialize_urls</tt> method. So if your class is <tt>Post</tt>, just say <tt>Post.all.each{|p| p.initialize_urls}</tt>.
33
+
31
34
  Unlike other permalink solutions, ActsAsUrl doesn't rely on Iconv (which is inconsistent across platforms and doesn't provide great transliteration as is) but instead uses a transliteration scheme (see the code for Unidecoder) which produces much better results for Unicode characters. It also mixes in some custom helpers to translate common characters into a more URI-friendly format rather than just dump them completely. Examples:
32
35
 
33
36
  # A simple prelude
34
- "simple English".to_url => "simple-english"
35
- "it's nothing at all".to_url => "its-nothing-at-all"
36
- "rock & roll".to_url => "rock-and-roll"
37
+ "simple English".to_url => "simple-english"
38
+ "it's nothing at all".to_url => "its-nothing-at-all"
39
+ "rock & roll".to_url => "rock-and-roll"
37
40
 
38
41
  # Let's show off
39
- "$12 worth of Ruby power".to_url => "12-dollars-worth-of-ruby-power"
40
- "10% off if you act now".to_url => "10-percent-off-if-you-act-now"
42
+ "$12 worth of Ruby power".to_url => "12-dollars-worth-of-ruby-power"
43
+ "10% off if you act now".to_url => "10-percent-off-if-you-act-now"
41
44
 
42
45
  # You don't even wanna trust Iconv for this next part
43
- "kick it en Français".to_url => "kick-it-en-francais"
44
- "rock it Español style".to_url => "rock-it-espanol-style"
46
+ "kick it en Français".to_url => "kick-it-en-francais"
47
+ "rock it Español style".to_url => "rock-it-espanol-style"
45
48
  "tell your readers 你好".to_url => "tell-your-readers-ni-hao"
46
-
49
+
47
50
  Compare those results with the ones produced on my Intel Mac by a leading permalink plugin:
48
51
 
49
- "simple English" # => "simple-english"
52
+ "simple English" # => "simple-english"
50
53
  "it's nothing at all" # => "it-s-nothing-at-all"
51
- "rock & roll" # => "rock-roll"
54
+ "rock & roll" # => "rock-roll"
52
55
 
53
- "$12 worth of Ruby power" # => "12-worth-of-ruby-power"
54
- "10% off if you act now" # => "10-off-if-you-act-now"
56
+ "$12 worth of Ruby power" # => "12-worth-of-ruby-power"
57
+ "10% off if you act now" # => "10-off-if-you-act-now"
55
58
 
56
- "kick it en Français" # => "kick-it-en-francais"
57
- "rock it Español style" # => "rock-it-espan-ol-style"
59
+ "kick it en Français" # => "kick-it-en-francais"
60
+ "rock it Español style" # => "rock-it-espan-ol-style"
58
61
  "tell your readers 你好" # => "tell-your-readers"
59
62
 
60
63
  Not so great, actually.
@@ -63,15 +66,25 @@ Note: No offense is intended to the author[s] of whatever plugins might produce
63
66
 
64
67
  == Unidecoder
65
68
 
66
- This library converts Unicode [and accented Ascii] characters to their plain-text Ascii equivalents. This is a port of Perl's Unidecode and provides eminently superior and more reliable results than Iconv. (Seriously, Iconv... A plague on both your houses! [sic])
69
+ This library converts Unicode [and accented ASCII] characters to their plain-text ASCII equivalents. This is a port of Perl's Unidecode and provides eminently superior and more reliable results than Iconv. (Seriously, Iconv... A plague on both your houses! [sic])
70
+
71
+ You probably won't ever need to run Unidecoder by itself. StringExtensions adds String#to_ascii which wraps all of Unidecoder's functionality. For anyone interested, details of the implementation can be read about in the original implementation of Text::Unidecode[http://interglacial.com/~sburke/tpj/as_html/tpj22.html]. Extensive examples can be found in the tests.
72
+
73
+ Unidecoder module also provides localization options for Stringex. You can use this functionality by loading either a YAML file or Hash like the following code snippets:
74
+
75
+ # Using a Hash
76
+ Stringex.localize_from :en => {"é" => "ee"}
77
+
78
+ # Loading from a file. NOTE: The path to file should be absolute.
79
+ Stringex.localize_from "/path/to/yaml_file"
67
80
 
68
- You probably won't ever need to run Unidecoder by itself. StringExtensions adds String#to_ascii which wraps all of Unidecoder's functionality. For anyone interested, details of the implementation can be read about in the original implementation of Text::Unidecode[http://interglacial.com/~sburke/tpj/as_html/tpj22.html]. Extensive examples can be found in the tests.
81
+ In both the YAML and pure Hash implementation, the end result should be a Hash with keys representing the locale and values being another Hash with those keys being the UTF character and the values the transliterated ASCII values. (I hope that made sense.) You can check the documentation for the Unidecoder module for more information about setting locales.
69
82
 
70
83
  == StringExtensions
71
84
 
72
- A collection of extensions on Ruby's String class. Please see the documentation for string_extensions module for more information. There's not much to explain about them really.
85
+ A collection of extensions on Ruby's String class. Please see the documentation for StringExtensions module for more information. There's not much to explain about them really.
73
86
 
74
- == Note to users of Devise
87
+ == Note to users of CanCan
75
88
 
76
89
  You'll need to add a <tt>:find_by => :url</tt> to your <tt>load_and_authorize_resource</tt>. Here's an example:
77
90
 
@@ -79,6 +92,6 @@ You'll need to add a <tt>:find_by => :url</tt> to your <tt>load_and_authorize_re
79
92
 
80
93
  == Thanks & Acknowledgements
81
94
 
82
- If it's not obvious, some of the code for ActsAsUrl is based on Rick Olsen's permalink_fu[http://svn.techno-weenie.net/projects/plugins/permalink_fu/] plugin. Unidecoder is a Ruby port of Sean Burke's Text::Unidecode[http://interglacial.com/~sburke/tpj/as_html/tpj22.html] module for Perl. And, finally, the bulk of strip_html_tags[link:classes/LuckySneaks/StringExtensions.html#M000005] in StringExtensions was stolen from Tobias Lütke's Regex in Typo[http://typosphere.org/].
95
+ If it's not obvious, some of the code for ActsAsUrl is based on Rick Olsen's permalink_fu[http://svn.techno-weenie.net/projects/plugins/permalink_fu/] plugin. Unidecoder is a Ruby port of Sean Burke's Text::Unidecode[http://interglacial.com/~sburke/tpj/as_html/tpj22.html] module for Perl. And, finally, the bulk of strip_html_tags[link:classes/Stringex/StringExtensions.html#M000005] in StringExtensions was stolen from Tobias Lütke's Regex in Typo[http://typosphere.org/].
83
96
 
84
97
  copyright (c) 2008 Lucky Sneaks, released under the MIT license
data/Rakefile CHANGED
@@ -12,7 +12,7 @@ begin
12
12
  gem.email = "rsl@luckysneaks.com"
13
13
  gem.homepage = "http://github.com/rsl/stringex"
14
14
  gem.summary = "Some [hopefully] useful extensions to Ruby's String class"
15
- gem.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]."
15
+ gem.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]."
16
16
  gem.has_rdoc = true
17
17
  gem.files = %w{
18
18
  init.rb
@@ -212,7 +212,7 @@ begin
212
212
  }
213
213
  gem.rdoc_options = %w{--main README.rdoc --charset utf-8 --line-numbers}
214
214
  gem.extra_rdoc_files = %w{MIT-LICENSE README.rdoc}
215
- gem.version = "1.3.0"
215
+ gem.version = "1.3.1"
216
216
  end
217
217
 
218
218
  Jeweler::GemcutterTasks.new
data/lib/stringex.rb CHANGED
@@ -1,10 +1,10 @@
1
1
  # encoding: UTF-8
2
- require 'lucky_sneaks/string_extensions'
3
- require 'lucky_sneaks/unidecoder'
2
+ require 'stringex/string_extensions'
3
+ require 'stringex/unidecoder'
4
4
 
5
- String.send :include, LuckySneaks::StringExtensions
5
+ String.send :include, Stringex::StringExtensions
6
6
 
7
7
  if defined?(ActiveRecord)
8
- require 'lucky_sneaks/acts_as_url'
9
- ActiveRecord::Base.send :include, LuckySneaks::ActsAsUrl
8
+ require 'stringex/acts_as_url'
9
+ ActiveRecord::Base.send :include, Stringex::ActsAsUrl
10
10
  end
data/stringex.gemspec CHANGED
@@ -5,12 +5,12 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{stringex}
8
- s.version = "1.3.0"
8
+ s.version = "1.3.1"
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 = %q{2011-08-08}
13
- s.description = %q{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].}
12
+ s.date = %q{2012-02-16}
13
+ s.description = %q{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 = %q{rsl@luckysneaks.com}
15
15
  s.extra_rdoc_files = [
16
16
  "MIT-LICENSE",
@@ -21,189 +21,6 @@ Gem::Specification.new do |s|
21
21
  "README.rdoc",
22
22
  "Rakefile",
23
23
  "init.rb",
24
- "lib/lucky_sneaks/acts_as_url.rb",
25
- "lib/lucky_sneaks/string_extensions.rb",
26
- "lib/lucky_sneaks/unidecoder.rb",
27
- "lib/lucky_sneaks/unidecoder_data/x00.yml",
28
- "lib/lucky_sneaks/unidecoder_data/x01.yml",
29
- "lib/lucky_sneaks/unidecoder_data/x02.yml",
30
- "lib/lucky_sneaks/unidecoder_data/x03.yml",
31
- "lib/lucky_sneaks/unidecoder_data/x04.yml",
32
- "lib/lucky_sneaks/unidecoder_data/x05.yml",
33
- "lib/lucky_sneaks/unidecoder_data/x06.yml",
34
- "lib/lucky_sneaks/unidecoder_data/x07.yml",
35
- "lib/lucky_sneaks/unidecoder_data/x09.yml",
36
- "lib/lucky_sneaks/unidecoder_data/x0a.yml",
37
- "lib/lucky_sneaks/unidecoder_data/x0b.yml",
38
- "lib/lucky_sneaks/unidecoder_data/x0c.yml",
39
- "lib/lucky_sneaks/unidecoder_data/x0d.yml",
40
- "lib/lucky_sneaks/unidecoder_data/x0e.yml",
41
- "lib/lucky_sneaks/unidecoder_data/x0f.yml",
42
- "lib/lucky_sneaks/unidecoder_data/x10.yml",
43
- "lib/lucky_sneaks/unidecoder_data/x11.yml",
44
- "lib/lucky_sneaks/unidecoder_data/x12.yml",
45
- "lib/lucky_sneaks/unidecoder_data/x13.yml",
46
- "lib/lucky_sneaks/unidecoder_data/x14.yml",
47
- "lib/lucky_sneaks/unidecoder_data/x15.yml",
48
- "lib/lucky_sneaks/unidecoder_data/x16.yml",
49
- "lib/lucky_sneaks/unidecoder_data/x17.yml",
50
- "lib/lucky_sneaks/unidecoder_data/x18.yml",
51
- "lib/lucky_sneaks/unidecoder_data/x1e.yml",
52
- "lib/lucky_sneaks/unidecoder_data/x1f.yml",
53
- "lib/lucky_sneaks/unidecoder_data/x20.yml",
54
- "lib/lucky_sneaks/unidecoder_data/x21.yml",
55
- "lib/lucky_sneaks/unidecoder_data/x22.yml",
56
- "lib/lucky_sneaks/unidecoder_data/x23.yml",
57
- "lib/lucky_sneaks/unidecoder_data/x24.yml",
58
- "lib/lucky_sneaks/unidecoder_data/x25.yml",
59
- "lib/lucky_sneaks/unidecoder_data/x26.yml",
60
- "lib/lucky_sneaks/unidecoder_data/x27.yml",
61
- "lib/lucky_sneaks/unidecoder_data/x28.yml",
62
- "lib/lucky_sneaks/unidecoder_data/x2e.yml",
63
- "lib/lucky_sneaks/unidecoder_data/x2f.yml",
64
- "lib/lucky_sneaks/unidecoder_data/x30.yml",
65
- "lib/lucky_sneaks/unidecoder_data/x31.yml",
66
- "lib/lucky_sneaks/unidecoder_data/x32.yml",
67
- "lib/lucky_sneaks/unidecoder_data/x33.yml",
68
- "lib/lucky_sneaks/unidecoder_data/x4d.yml",
69
- "lib/lucky_sneaks/unidecoder_data/x4e.yml",
70
- "lib/lucky_sneaks/unidecoder_data/x4f.yml",
71
- "lib/lucky_sneaks/unidecoder_data/x50.yml",
72
- "lib/lucky_sneaks/unidecoder_data/x51.yml",
73
- "lib/lucky_sneaks/unidecoder_data/x52.yml",
74
- "lib/lucky_sneaks/unidecoder_data/x53.yml",
75
- "lib/lucky_sneaks/unidecoder_data/x54.yml",
76
- "lib/lucky_sneaks/unidecoder_data/x55.yml",
77
- "lib/lucky_sneaks/unidecoder_data/x56.yml",
78
- "lib/lucky_sneaks/unidecoder_data/x57.yml",
79
- "lib/lucky_sneaks/unidecoder_data/x58.yml",
80
- "lib/lucky_sneaks/unidecoder_data/x59.yml",
81
- "lib/lucky_sneaks/unidecoder_data/x5a.yml",
82
- "lib/lucky_sneaks/unidecoder_data/x5b.yml",
83
- "lib/lucky_sneaks/unidecoder_data/x5c.yml",
84
- "lib/lucky_sneaks/unidecoder_data/x5d.yml",
85
- "lib/lucky_sneaks/unidecoder_data/x5e.yml",
86
- "lib/lucky_sneaks/unidecoder_data/x5f.yml",
87
- "lib/lucky_sneaks/unidecoder_data/x60.yml",
88
- "lib/lucky_sneaks/unidecoder_data/x61.yml",
89
- "lib/lucky_sneaks/unidecoder_data/x62.yml",
90
- "lib/lucky_sneaks/unidecoder_data/x63.yml",
91
- "lib/lucky_sneaks/unidecoder_data/x64.yml",
92
- "lib/lucky_sneaks/unidecoder_data/x65.yml",
93
- "lib/lucky_sneaks/unidecoder_data/x66.yml",
94
- "lib/lucky_sneaks/unidecoder_data/x67.yml",
95
- "lib/lucky_sneaks/unidecoder_data/x68.yml",
96
- "lib/lucky_sneaks/unidecoder_data/x69.yml",
97
- "lib/lucky_sneaks/unidecoder_data/x6a.yml",
98
- "lib/lucky_sneaks/unidecoder_data/x6b.yml",
99
- "lib/lucky_sneaks/unidecoder_data/x6c.yml",
100
- "lib/lucky_sneaks/unidecoder_data/x6d.yml",
101
- "lib/lucky_sneaks/unidecoder_data/x6e.yml",
102
- "lib/lucky_sneaks/unidecoder_data/x6f.yml",
103
- "lib/lucky_sneaks/unidecoder_data/x70.yml",
104
- "lib/lucky_sneaks/unidecoder_data/x71.yml",
105
- "lib/lucky_sneaks/unidecoder_data/x72.yml",
106
- "lib/lucky_sneaks/unidecoder_data/x73.yml",
107
- "lib/lucky_sneaks/unidecoder_data/x74.yml",
108
- "lib/lucky_sneaks/unidecoder_data/x75.yml",
109
- "lib/lucky_sneaks/unidecoder_data/x76.yml",
110
- "lib/lucky_sneaks/unidecoder_data/x77.yml",
111
- "lib/lucky_sneaks/unidecoder_data/x78.yml",
112
- "lib/lucky_sneaks/unidecoder_data/x79.yml",
113
- "lib/lucky_sneaks/unidecoder_data/x7a.yml",
114
- "lib/lucky_sneaks/unidecoder_data/x7b.yml",
115
- "lib/lucky_sneaks/unidecoder_data/x7c.yml",
116
- "lib/lucky_sneaks/unidecoder_data/x7d.yml",
117
- "lib/lucky_sneaks/unidecoder_data/x7e.yml",
118
- "lib/lucky_sneaks/unidecoder_data/x7f.yml",
119
- "lib/lucky_sneaks/unidecoder_data/x80.yml",
120
- "lib/lucky_sneaks/unidecoder_data/x81.yml",
121
- "lib/lucky_sneaks/unidecoder_data/x82.yml",
122
- "lib/lucky_sneaks/unidecoder_data/x83.yml",
123
- "lib/lucky_sneaks/unidecoder_data/x84.yml",
124
- "lib/lucky_sneaks/unidecoder_data/x85.yml",
125
- "lib/lucky_sneaks/unidecoder_data/x86.yml",
126
- "lib/lucky_sneaks/unidecoder_data/x87.yml",
127
- "lib/lucky_sneaks/unidecoder_data/x88.yml",
128
- "lib/lucky_sneaks/unidecoder_data/x89.yml",
129
- "lib/lucky_sneaks/unidecoder_data/x8a.yml",
130
- "lib/lucky_sneaks/unidecoder_data/x8b.yml",
131
- "lib/lucky_sneaks/unidecoder_data/x8c.yml",
132
- "lib/lucky_sneaks/unidecoder_data/x8d.yml",
133
- "lib/lucky_sneaks/unidecoder_data/x8e.yml",
134
- "lib/lucky_sneaks/unidecoder_data/x8f.yml",
135
- "lib/lucky_sneaks/unidecoder_data/x90.yml",
136
- "lib/lucky_sneaks/unidecoder_data/x91.yml",
137
- "lib/lucky_sneaks/unidecoder_data/x92.yml",
138
- "lib/lucky_sneaks/unidecoder_data/x93.yml",
139
- "lib/lucky_sneaks/unidecoder_data/x94.yml",
140
- "lib/lucky_sneaks/unidecoder_data/x95.yml",
141
- "lib/lucky_sneaks/unidecoder_data/x96.yml",
142
- "lib/lucky_sneaks/unidecoder_data/x97.yml",
143
- "lib/lucky_sneaks/unidecoder_data/x98.yml",
144
- "lib/lucky_sneaks/unidecoder_data/x99.yml",
145
- "lib/lucky_sneaks/unidecoder_data/x9a.yml",
146
- "lib/lucky_sneaks/unidecoder_data/x9b.yml",
147
- "lib/lucky_sneaks/unidecoder_data/x9c.yml",
148
- "lib/lucky_sneaks/unidecoder_data/x9d.yml",
149
- "lib/lucky_sneaks/unidecoder_data/x9e.yml",
150
- "lib/lucky_sneaks/unidecoder_data/x9f.yml",
151
- "lib/lucky_sneaks/unidecoder_data/xa0.yml",
152
- "lib/lucky_sneaks/unidecoder_data/xa1.yml",
153
- "lib/lucky_sneaks/unidecoder_data/xa2.yml",
154
- "lib/lucky_sneaks/unidecoder_data/xa3.yml",
155
- "lib/lucky_sneaks/unidecoder_data/xa4.yml",
156
- "lib/lucky_sneaks/unidecoder_data/xac.yml",
157
- "lib/lucky_sneaks/unidecoder_data/xad.yml",
158
- "lib/lucky_sneaks/unidecoder_data/xae.yml",
159
- "lib/lucky_sneaks/unidecoder_data/xaf.yml",
160
- "lib/lucky_sneaks/unidecoder_data/xb0.yml",
161
- "lib/lucky_sneaks/unidecoder_data/xb1.yml",
162
- "lib/lucky_sneaks/unidecoder_data/xb2.yml",
163
- "lib/lucky_sneaks/unidecoder_data/xb3.yml",
164
- "lib/lucky_sneaks/unidecoder_data/xb4.yml",
165
- "lib/lucky_sneaks/unidecoder_data/xb5.yml",
166
- "lib/lucky_sneaks/unidecoder_data/xb6.yml",
167
- "lib/lucky_sneaks/unidecoder_data/xb7.yml",
168
- "lib/lucky_sneaks/unidecoder_data/xb8.yml",
169
- "lib/lucky_sneaks/unidecoder_data/xb9.yml",
170
- "lib/lucky_sneaks/unidecoder_data/xba.yml",
171
- "lib/lucky_sneaks/unidecoder_data/xbb.yml",
172
- "lib/lucky_sneaks/unidecoder_data/xbc.yml",
173
- "lib/lucky_sneaks/unidecoder_data/xbd.yml",
174
- "lib/lucky_sneaks/unidecoder_data/xbe.yml",
175
- "lib/lucky_sneaks/unidecoder_data/xbf.yml",
176
- "lib/lucky_sneaks/unidecoder_data/xc0.yml",
177
- "lib/lucky_sneaks/unidecoder_data/xc1.yml",
178
- "lib/lucky_sneaks/unidecoder_data/xc2.yml",
179
- "lib/lucky_sneaks/unidecoder_data/xc3.yml",
180
- "lib/lucky_sneaks/unidecoder_data/xc4.yml",
181
- "lib/lucky_sneaks/unidecoder_data/xc5.yml",
182
- "lib/lucky_sneaks/unidecoder_data/xc6.yml",
183
- "lib/lucky_sneaks/unidecoder_data/xc7.yml",
184
- "lib/lucky_sneaks/unidecoder_data/xc8.yml",
185
- "lib/lucky_sneaks/unidecoder_data/xc9.yml",
186
- "lib/lucky_sneaks/unidecoder_data/xca.yml",
187
- "lib/lucky_sneaks/unidecoder_data/xcb.yml",
188
- "lib/lucky_sneaks/unidecoder_data/xcc.yml",
189
- "lib/lucky_sneaks/unidecoder_data/xcd.yml",
190
- "lib/lucky_sneaks/unidecoder_data/xce.yml",
191
- "lib/lucky_sneaks/unidecoder_data/xcf.yml",
192
- "lib/lucky_sneaks/unidecoder_data/xd0.yml",
193
- "lib/lucky_sneaks/unidecoder_data/xd1.yml",
194
- "lib/lucky_sneaks/unidecoder_data/xd2.yml",
195
- "lib/lucky_sneaks/unidecoder_data/xd3.yml",
196
- "lib/lucky_sneaks/unidecoder_data/xd4.yml",
197
- "lib/lucky_sneaks/unidecoder_data/xd5.yml",
198
- "lib/lucky_sneaks/unidecoder_data/xd6.yml",
199
- "lib/lucky_sneaks/unidecoder_data/xd7.yml",
200
- "lib/lucky_sneaks/unidecoder_data/xf9.yml",
201
- "lib/lucky_sneaks/unidecoder_data/xfa.yml",
202
- "lib/lucky_sneaks/unidecoder_data/xfb.yml",
203
- "lib/lucky_sneaks/unidecoder_data/xfc.yml",
204
- "lib/lucky_sneaks/unidecoder_data/xfd.yml",
205
- "lib/lucky_sneaks/unidecoder_data/xfe.yml",
206
- "lib/lucky_sneaks/unidecoder_data/xff.yml",
207
24
  "lib/stringex.rb",
208
25
  "stringex.gemspec"
209
26
  ]
@@ -53,10 +53,10 @@ class UnidecoderTest < Test::Unit::TestCase
53
53
 
54
54
  def test_unidecoder_decode
55
55
  DONT_CONVERT.each do |ascii|
56
- assert_equal ascii, LuckySneaks::Unidecoder.decode(ascii)
56
+ assert_equal ascii, Stringex::Unidecoder.decode(ascii)
57
57
  end
58
58
  CONVERT_PAIRS.each do |unicode, ascii|
59
- assert_equal ascii, LuckySneaks::Unidecoder.decode(unicode)
59
+ assert_equal ascii, Stringex::Unidecoder.decode(unicode)
60
60
  end
61
61
  end
62
62
 
@@ -76,7 +76,7 @@ class UnidecoderTest < Test::Unit::TestCase
76
76
  "00e6" => "æ",
77
77
  "042f" => "Я"
78
78
  }.each do |codepoint, unicode|
79
- assert_equal unicode, LuckySneaks::Unidecoder.encode(codepoint)
79
+ assert_equal unicode, Stringex::Unidecoder.encode(codepoint)
80
80
  end
81
81
  end
82
82
 
@@ -86,7 +86,7 @@ class UnidecoderTest < Test::Unit::TestCase
86
86
  "π" => "x03.yml (line 194)",
87
87
  "Я" => "x04.yml (line 49)"
88
88
  }.each do |character, output|
89
- assert_equal output, LuckySneaks::Unidecoder.in_yaml_file(character)
89
+ assert_equal output, Stringex::Unidecoder.in_yaml_file(character)
90
90
  end
91
91
  end
92
92
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: stringex
3
3
  version: !ruby/object:Gem::Version
4
- hash: 27
4
+ hash: 25
5
5
  prerelease:
6
6
  segments:
7
7
  - 1
8
8
  - 3
9
- - 0
10
- version: 1.3.0
9
+ - 1
10
+ version: 1.3.1
11
11
  platform: ruby
12
12
  authors:
13
13
  - Russell Norris
@@ -15,11 +15,11 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-08-08 00:00:00 -04:00
18
+ date: 2012-02-16 00:00:00 -05:00
19
19
  default_executable:
20
20
  dependencies: []
21
21
 
22
- 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]."
22
+ 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]."
23
23
  email: rsl@luckysneaks.com
24
24
  executables: []
25
25
 
@@ -33,189 +33,6 @@ files:
33
33
  - README.rdoc
34
34
  - Rakefile
35
35
  - init.rb
36
- - lib/lucky_sneaks/acts_as_url.rb
37
- - lib/lucky_sneaks/string_extensions.rb
38
- - lib/lucky_sneaks/unidecoder.rb
39
- - lib/lucky_sneaks/unidecoder_data/x00.yml
40
- - lib/lucky_sneaks/unidecoder_data/x01.yml
41
- - lib/lucky_sneaks/unidecoder_data/x02.yml
42
- - lib/lucky_sneaks/unidecoder_data/x03.yml
43
- - lib/lucky_sneaks/unidecoder_data/x04.yml
44
- - lib/lucky_sneaks/unidecoder_data/x05.yml
45
- - lib/lucky_sneaks/unidecoder_data/x06.yml
46
- - lib/lucky_sneaks/unidecoder_data/x07.yml
47
- - lib/lucky_sneaks/unidecoder_data/x09.yml
48
- - lib/lucky_sneaks/unidecoder_data/x0a.yml
49
- - lib/lucky_sneaks/unidecoder_data/x0b.yml
50
- - lib/lucky_sneaks/unidecoder_data/x0c.yml
51
- - lib/lucky_sneaks/unidecoder_data/x0d.yml
52
- - lib/lucky_sneaks/unidecoder_data/x0e.yml
53
- - lib/lucky_sneaks/unidecoder_data/x0f.yml
54
- - lib/lucky_sneaks/unidecoder_data/x10.yml
55
- - lib/lucky_sneaks/unidecoder_data/x11.yml
56
- - lib/lucky_sneaks/unidecoder_data/x12.yml
57
- - lib/lucky_sneaks/unidecoder_data/x13.yml
58
- - lib/lucky_sneaks/unidecoder_data/x14.yml
59
- - lib/lucky_sneaks/unidecoder_data/x15.yml
60
- - lib/lucky_sneaks/unidecoder_data/x16.yml
61
- - lib/lucky_sneaks/unidecoder_data/x17.yml
62
- - lib/lucky_sneaks/unidecoder_data/x18.yml
63
- - lib/lucky_sneaks/unidecoder_data/x1e.yml
64
- - lib/lucky_sneaks/unidecoder_data/x1f.yml
65
- - lib/lucky_sneaks/unidecoder_data/x20.yml
66
- - lib/lucky_sneaks/unidecoder_data/x21.yml
67
- - lib/lucky_sneaks/unidecoder_data/x22.yml
68
- - lib/lucky_sneaks/unidecoder_data/x23.yml
69
- - lib/lucky_sneaks/unidecoder_data/x24.yml
70
- - lib/lucky_sneaks/unidecoder_data/x25.yml
71
- - lib/lucky_sneaks/unidecoder_data/x26.yml
72
- - lib/lucky_sneaks/unidecoder_data/x27.yml
73
- - lib/lucky_sneaks/unidecoder_data/x28.yml
74
- - lib/lucky_sneaks/unidecoder_data/x2e.yml
75
- - lib/lucky_sneaks/unidecoder_data/x2f.yml
76
- - lib/lucky_sneaks/unidecoder_data/x30.yml
77
- - lib/lucky_sneaks/unidecoder_data/x31.yml
78
- - lib/lucky_sneaks/unidecoder_data/x32.yml
79
- - lib/lucky_sneaks/unidecoder_data/x33.yml
80
- - lib/lucky_sneaks/unidecoder_data/x4d.yml
81
- - lib/lucky_sneaks/unidecoder_data/x4e.yml
82
- - lib/lucky_sneaks/unidecoder_data/x4f.yml
83
- - lib/lucky_sneaks/unidecoder_data/x50.yml
84
- - lib/lucky_sneaks/unidecoder_data/x51.yml
85
- - lib/lucky_sneaks/unidecoder_data/x52.yml
86
- - lib/lucky_sneaks/unidecoder_data/x53.yml
87
- - lib/lucky_sneaks/unidecoder_data/x54.yml
88
- - lib/lucky_sneaks/unidecoder_data/x55.yml
89
- - lib/lucky_sneaks/unidecoder_data/x56.yml
90
- - lib/lucky_sneaks/unidecoder_data/x57.yml
91
- - lib/lucky_sneaks/unidecoder_data/x58.yml
92
- - lib/lucky_sneaks/unidecoder_data/x59.yml
93
- - lib/lucky_sneaks/unidecoder_data/x5a.yml
94
- - lib/lucky_sneaks/unidecoder_data/x5b.yml
95
- - lib/lucky_sneaks/unidecoder_data/x5c.yml
96
- - lib/lucky_sneaks/unidecoder_data/x5d.yml
97
- - lib/lucky_sneaks/unidecoder_data/x5e.yml
98
- - lib/lucky_sneaks/unidecoder_data/x5f.yml
99
- - lib/lucky_sneaks/unidecoder_data/x60.yml
100
- - lib/lucky_sneaks/unidecoder_data/x61.yml
101
- - lib/lucky_sneaks/unidecoder_data/x62.yml
102
- - lib/lucky_sneaks/unidecoder_data/x63.yml
103
- - lib/lucky_sneaks/unidecoder_data/x64.yml
104
- - lib/lucky_sneaks/unidecoder_data/x65.yml
105
- - lib/lucky_sneaks/unidecoder_data/x66.yml
106
- - lib/lucky_sneaks/unidecoder_data/x67.yml
107
- - lib/lucky_sneaks/unidecoder_data/x68.yml
108
- - lib/lucky_sneaks/unidecoder_data/x69.yml
109
- - lib/lucky_sneaks/unidecoder_data/x6a.yml
110
- - lib/lucky_sneaks/unidecoder_data/x6b.yml
111
- - lib/lucky_sneaks/unidecoder_data/x6c.yml
112
- - lib/lucky_sneaks/unidecoder_data/x6d.yml
113
- - lib/lucky_sneaks/unidecoder_data/x6e.yml
114
- - lib/lucky_sneaks/unidecoder_data/x6f.yml
115
- - lib/lucky_sneaks/unidecoder_data/x70.yml
116
- - lib/lucky_sneaks/unidecoder_data/x71.yml
117
- - lib/lucky_sneaks/unidecoder_data/x72.yml
118
- - lib/lucky_sneaks/unidecoder_data/x73.yml
119
- - lib/lucky_sneaks/unidecoder_data/x74.yml
120
- - lib/lucky_sneaks/unidecoder_data/x75.yml
121
- - lib/lucky_sneaks/unidecoder_data/x76.yml
122
- - lib/lucky_sneaks/unidecoder_data/x77.yml
123
- - lib/lucky_sneaks/unidecoder_data/x78.yml
124
- - lib/lucky_sneaks/unidecoder_data/x79.yml
125
- - lib/lucky_sneaks/unidecoder_data/x7a.yml
126
- - lib/lucky_sneaks/unidecoder_data/x7b.yml
127
- - lib/lucky_sneaks/unidecoder_data/x7c.yml
128
- - lib/lucky_sneaks/unidecoder_data/x7d.yml
129
- - lib/lucky_sneaks/unidecoder_data/x7e.yml
130
- - lib/lucky_sneaks/unidecoder_data/x7f.yml
131
- - lib/lucky_sneaks/unidecoder_data/x80.yml
132
- - lib/lucky_sneaks/unidecoder_data/x81.yml
133
- - lib/lucky_sneaks/unidecoder_data/x82.yml
134
- - lib/lucky_sneaks/unidecoder_data/x83.yml
135
- - lib/lucky_sneaks/unidecoder_data/x84.yml
136
- - lib/lucky_sneaks/unidecoder_data/x85.yml
137
- - lib/lucky_sneaks/unidecoder_data/x86.yml
138
- - lib/lucky_sneaks/unidecoder_data/x87.yml
139
- - lib/lucky_sneaks/unidecoder_data/x88.yml
140
- - lib/lucky_sneaks/unidecoder_data/x89.yml
141
- - lib/lucky_sneaks/unidecoder_data/x8a.yml
142
- - lib/lucky_sneaks/unidecoder_data/x8b.yml
143
- - lib/lucky_sneaks/unidecoder_data/x8c.yml
144
- - lib/lucky_sneaks/unidecoder_data/x8d.yml
145
- - lib/lucky_sneaks/unidecoder_data/x8e.yml
146
- - lib/lucky_sneaks/unidecoder_data/x8f.yml
147
- - lib/lucky_sneaks/unidecoder_data/x90.yml
148
- - lib/lucky_sneaks/unidecoder_data/x91.yml
149
- - lib/lucky_sneaks/unidecoder_data/x92.yml
150
- - lib/lucky_sneaks/unidecoder_data/x93.yml
151
- - lib/lucky_sneaks/unidecoder_data/x94.yml
152
- - lib/lucky_sneaks/unidecoder_data/x95.yml
153
- - lib/lucky_sneaks/unidecoder_data/x96.yml
154
- - lib/lucky_sneaks/unidecoder_data/x97.yml
155
- - lib/lucky_sneaks/unidecoder_data/x98.yml
156
- - lib/lucky_sneaks/unidecoder_data/x99.yml
157
- - lib/lucky_sneaks/unidecoder_data/x9a.yml
158
- - lib/lucky_sneaks/unidecoder_data/x9b.yml
159
- - lib/lucky_sneaks/unidecoder_data/x9c.yml
160
- - lib/lucky_sneaks/unidecoder_data/x9d.yml
161
- - lib/lucky_sneaks/unidecoder_data/x9e.yml
162
- - lib/lucky_sneaks/unidecoder_data/x9f.yml
163
- - lib/lucky_sneaks/unidecoder_data/xa0.yml
164
- - lib/lucky_sneaks/unidecoder_data/xa1.yml
165
- - lib/lucky_sneaks/unidecoder_data/xa2.yml
166
- - lib/lucky_sneaks/unidecoder_data/xa3.yml
167
- - lib/lucky_sneaks/unidecoder_data/xa4.yml
168
- - lib/lucky_sneaks/unidecoder_data/xac.yml
169
- - lib/lucky_sneaks/unidecoder_data/xad.yml
170
- - lib/lucky_sneaks/unidecoder_data/xae.yml
171
- - lib/lucky_sneaks/unidecoder_data/xaf.yml
172
- - lib/lucky_sneaks/unidecoder_data/xb0.yml
173
- - lib/lucky_sneaks/unidecoder_data/xb1.yml
174
- - lib/lucky_sneaks/unidecoder_data/xb2.yml
175
- - lib/lucky_sneaks/unidecoder_data/xb3.yml
176
- - lib/lucky_sneaks/unidecoder_data/xb4.yml
177
- - lib/lucky_sneaks/unidecoder_data/xb5.yml
178
- - lib/lucky_sneaks/unidecoder_data/xb6.yml
179
- - lib/lucky_sneaks/unidecoder_data/xb7.yml
180
- - lib/lucky_sneaks/unidecoder_data/xb8.yml
181
- - lib/lucky_sneaks/unidecoder_data/xb9.yml
182
- - lib/lucky_sneaks/unidecoder_data/xba.yml
183
- - lib/lucky_sneaks/unidecoder_data/xbb.yml
184
- - lib/lucky_sneaks/unidecoder_data/xbc.yml
185
- - lib/lucky_sneaks/unidecoder_data/xbd.yml
186
- - lib/lucky_sneaks/unidecoder_data/xbe.yml
187
- - lib/lucky_sneaks/unidecoder_data/xbf.yml
188
- - lib/lucky_sneaks/unidecoder_data/xc0.yml
189
- - lib/lucky_sneaks/unidecoder_data/xc1.yml
190
- - lib/lucky_sneaks/unidecoder_data/xc2.yml
191
- - lib/lucky_sneaks/unidecoder_data/xc3.yml
192
- - lib/lucky_sneaks/unidecoder_data/xc4.yml
193
- - lib/lucky_sneaks/unidecoder_data/xc5.yml
194
- - lib/lucky_sneaks/unidecoder_data/xc6.yml
195
- - lib/lucky_sneaks/unidecoder_data/xc7.yml
196
- - lib/lucky_sneaks/unidecoder_data/xc8.yml
197
- - lib/lucky_sneaks/unidecoder_data/xc9.yml
198
- - lib/lucky_sneaks/unidecoder_data/xca.yml
199
- - lib/lucky_sneaks/unidecoder_data/xcb.yml
200
- - lib/lucky_sneaks/unidecoder_data/xcc.yml
201
- - lib/lucky_sneaks/unidecoder_data/xcd.yml
202
- - lib/lucky_sneaks/unidecoder_data/xce.yml
203
- - lib/lucky_sneaks/unidecoder_data/xcf.yml
204
- - lib/lucky_sneaks/unidecoder_data/xd0.yml
205
- - lib/lucky_sneaks/unidecoder_data/xd1.yml
206
- - lib/lucky_sneaks/unidecoder_data/xd2.yml
207
- - lib/lucky_sneaks/unidecoder_data/xd3.yml
208
- - lib/lucky_sneaks/unidecoder_data/xd4.yml
209
- - lib/lucky_sneaks/unidecoder_data/xd5.yml
210
- - lib/lucky_sneaks/unidecoder_data/xd6.yml
211
- - lib/lucky_sneaks/unidecoder_data/xd7.yml
212
- - lib/lucky_sneaks/unidecoder_data/xf9.yml
213
- - lib/lucky_sneaks/unidecoder_data/xfa.yml
214
- - lib/lucky_sneaks/unidecoder_data/xfb.yml
215
- - lib/lucky_sneaks/unidecoder_data/xfc.yml
216
- - lib/lucky_sneaks/unidecoder_data/xfd.yml
217
- - lib/lucky_sneaks/unidecoder_data/xfe.yml
218
- - lib/lucky_sneaks/unidecoder_data/xff.yml
219
36
  - lib/stringex.rb
220
37
  - stringex.gemspec
221
38
  - test/acts_as_url_test.rb