string_utf8 0.0.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.
data/README.rdoc ADDED
@@ -0,0 +1,6 @@
1
+ = string_utf8
2
+
3
+ Try to ~urn a string into utf8 encoding.
4
+
5
+ :include:string_utf8.rdoc
6
+
@@ -0,0 +1,42 @@
1
+ # encoding: utf-8
2
+
3
+ # This monkey patch add ability of turning stirng's
4
+ # encoding into utf8
5
+ #
6
+ # Example:
7
+ #
8
+ # require 'string/utf8'
9
+ # p "\xD6\xD0\xCE\xC4".utf8!
10
+ # => "中文"
11
+ #
12
+ class String
13
+
14
+ ENCODINGS = %w(ascii-8bit utf-8 ucs-bom shift-jis gb18030 gbk gb2312 cp936)
15
+
16
+ # Try to turn a string's encoding to utf8
17
+ #
18
+ # Example:
19
+ # >> "中文"
20
+ # # => "中文"
21
+ #
22
+ # >> "中文".encode('gb2312')
23
+ # # => "\x{D6D0}\x{CEC4}"
24
+ #
25
+ # >> "中文".encode('gb2312').utf8!
26
+ # # => "中文"
27
+ #
28
+ def utf8!
29
+ ENCODINGS.any? do |c|
30
+ begin
31
+ self.encode!('utf-8', c).force_encoding('utf-8')
32
+ if self.valid_encoding?
33
+ $enc = c
34
+ return self
35
+ end
36
+ rescue
37
+ end
38
+ end
39
+ self
40
+ end
41
+
42
+ end
@@ -0,0 +1,3 @@
1
+ module StringUtf8
2
+ VERSION = '0.0.1'
3
+ end
data/string_utf8.rdoc ADDED
@@ -0,0 +1,3 @@
1
+ = string_utf8
2
+
3
+ "String".utf8!
metadata ADDED
@@ -0,0 +1,56 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: string_utf8
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - qhwa
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2012-07-05 00:00:00.000000000Z
13
+ dependencies: []
14
+ description:
15
+ email: qhwa@163.com
16
+ executables: []
17
+ extensions: []
18
+ extra_rdoc_files:
19
+ - README.rdoc
20
+ - string_utf8.rdoc
21
+ files:
22
+ - lib/string_utf8_version.rb
23
+ - lib/string/utf8.rb
24
+ - README.rdoc
25
+ - string_utf8.rdoc
26
+ homepage: http://q.pnq.cc
27
+ licenses: []
28
+ post_install_message:
29
+ rdoc_options:
30
+ - --title
31
+ - string_utf8
32
+ - --main
33
+ - README.rdoc
34
+ - -ri
35
+ require_paths:
36
+ - lib
37
+ - lib
38
+ required_ruby_version: !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ! '>='
42
+ - !ruby/object:Gem::Version
43
+ version: '0'
44
+ required_rubygems_version: !ruby/object:Gem::Requirement
45
+ none: false
46
+ requirements:
47
+ - - ! '>='
48
+ - !ruby/object:Gem::Version
49
+ version: '0'
50
+ requirements: []
51
+ rubyforge_project:
52
+ rubygems_version: 1.8.17
53
+ signing_key:
54
+ specification_version: 3
55
+ summary: Convert strings encoding to utf8
56
+ test_files: []