jpmobile 2.0.8 → 2.0.9

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.
@@ -19,6 +19,7 @@ describe Jpmobile::Rack::MobileCarrier do
19
19
  [ Jpmobile::Mobile::Iphone , 'Mozilla/5.0 (iPhone; U; CPU iPhone OS 3_0 like Mac OS X; ja-jp) AppleWebKit/528.18 (KHTML, like Gecko) Version/4.0 Mobile/7A341 Safari/528.16' ],
20
20
  [ Jpmobile::Mobile::Android , 'Mozilla/5.0 (Linux; U; Android 1.6; ja-jp; SonyEriccsonSO-01B Build/R1EA018) AppleWebKit/528.5+ (KHTML, like Gecko) Version/3.1.2 Mobile Safari/525.20.1' ],
21
21
  [ Jpmobile::Mobile::WindowsPhone , 'Mozilla/4.0 (Compatible; MSIE 6.0; Windows NT 5.1 T-01A_6.5; Windows Phone 6.5)' ],
22
+ [ Jpmobile::Mobile::BlackBerry, 'BlackBerry9000/4.6.0.224 Profile/MIDP-2.0 Configuration/CLDC-1.1 VendorID/220' ],
22
23
  [ Jpmobile::Mobile::Ipad , 'Mozilla/5.0 (iPad; U; CPU OS 4_3 like Mac OS X; ja-jp) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8F191 Safari/6533.18.5'],
23
24
  [ Jpmobile::Mobile::AndroidTablet, 'Mozilla/5.0 (Linux; U; Android 2.2; ja-jp; SC-01C Build/FROYO) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1'],
24
25
  [ Jpmobile::Mobile::AndroidTablet, 'Mozilla/5.0 (Linux; U; Android 3.2; ja-jp; Sony Tablet S Build/THMAS11002) AppleWebKit/534.13 (KHTML, like Gecko) Version/4.0 Safari/534.13'],
@@ -30,6 +30,38 @@ describe Jpmobile::Emoticon do
30
30
  Jpmobile::Emoticon::unicodecr_to_external("", Jpmobile::Emoticon::CONVERSION_TABLE_TO_SOFTBANK, true).should == [0xe04a, 0xe049].pack('U*')
31
31
  end
32
32
  end
33
+
34
+ it 'should convert docomo unicodecr to Unicode 6.0 emoticon' do
35
+ Jpmobile::Emoticon.unicodecr_to_external("", Jpmobile::Emoticon::CONVERSION_TABLE_TO_UNICODE_EMOTICON, false).should == [0x2600].pack('U')
36
+ end
37
+
38
+ it 'should convert au unicodecr to Unicode 6.0 emoticon' do
39
+ Jpmobile::Emoticon.unicodecr_to_external("", Jpmobile::Emoticon::CONVERSION_TABLE_TO_UNICODE_EMOTICON, false).should == [0x26C5].pack('U')
40
+ end
41
+
42
+ it 'should convert Softbank unicodecr to Unicode 6.0 emoticon' do
43
+ Jpmobile::Emoticon.unicodecr_to_external("", Jpmobile::Emoticon::CONVERSION_TABLE_TO_UNICODE_EMOTICON, false).should == [0x1F466].pack('U')
44
+ end
45
+
46
+ it 'should not convert 〓' do
47
+ Jpmobile::Emoticon.unicodecr_to_external("〓", Jpmobile::Emoticon::CONVERSION_TABLE_TO_UNICODE_EMOTICON, false).should == '〓'
48
+ end
49
+
50
+ it 'should convert docomo unicodecr to Google emoticon' do
51
+ Jpmobile::Emoticon.unicodecr_to_external("", Jpmobile::Emoticon::CONVERSION_TABLE_TO_GOOGLE_EMOTICON, false).should == [0xFE000].pack('U')
52
+ end
53
+
54
+ it 'should convert au unicodecr to Google emoticon' do
55
+ Jpmobile::Emoticon.unicodecr_to_external("", Jpmobile::Emoticon::CONVERSION_TABLE_TO_GOOGLE_EMOTICON, false).should == [0xFE00F].pack('U')
56
+ end
57
+
58
+ it 'should convert Softbank unicodecr to Google emoticon' do
59
+ Jpmobile::Emoticon.unicodecr_to_external("", Jpmobile::Emoticon::CONVERSION_TABLE_TO_GOOGLE_EMOTICON, false).should == [0xFE19B].pack('U')
60
+ end
61
+
62
+ it 'should not convert 〓' do
63
+ Jpmobile::Emoticon.unicodecr_to_external("〓", Jpmobile::Emoticon::CONVERSION_TABLE_TO_GOOGLE_EMOTICON, false).should == '〓'
64
+ end
33
65
  end
34
66
 
35
67
  describe "unicodecr_to_utf8" do
@@ -70,6 +102,34 @@ describe Jpmobile::Emoticon do
70
102
  it "should not convert docomo encoding of koukai-sjis emoticons to unicodecr" do
71
103
  Jpmobile::Emoticon::external_to_unicodecr_docomo(sjis("\x8c\xf6\x8a\x4a")).should == sjis("\x8c\xf6\x8a\x4a")
72
104
  end
105
+
106
+ context 'at iPhone emoticon' do
107
+ it 'should convert iPhone Unicode emoticon to SoftBank emoticon' do
108
+ Jpmobile::Emoticon::external_to_unicodecr_unicode60("\342\230\200").should == ""
109
+ end
110
+
111
+ it 'should convert iPhone Unicode emoticon to multi SoftBank emoticons' do
112
+ Jpmobile::Emoticon::external_to_unicodecr_unicode60("\342\233\205").should == ","
113
+ end
114
+
115
+ it 'should not convert 〓' do
116
+ Jpmobile::Emoticon::external_to_unicodecr_unicode60('〓').should == "〓"
117
+ end
118
+ end
119
+
120
+ context 'at Android emoticon' do
121
+ it 'should convert Android Google Unicode emoticon to Docomo emoticon' do
122
+ Jpmobile::Emoticon::external_to_unicodecr_google("\363\276\200\200").should == ""
123
+ end
124
+
125
+ it 'should convert Android Google Unicode emoticon to multi Docomo emoticon' do
126
+ Jpmobile::Emoticon::external_to_unicodecr_google("\363\276\200\217").should == ""
127
+ end
128
+
129
+ it 'should not convert 〓' do
130
+ Jpmobile::Emoticon::external_to_unicodecr_google('〓').should == "〓"
131
+ end
132
+ end
73
133
  end
74
134
 
75
135
  context "for email" do
@@ -108,4 +108,28 @@ describe Jpmobile::Util do
108
108
  ascii_8bit(utf8_to_jis("\xef\xbd\x9e")).should == ascii_8bit("\x1b\x24\x42\x21\x41\x1b\x28\x42")
109
109
  ascii_8bit(encode("\xef\xbd\x9e", "ISO-2022-JP")).should == ascii_8bit("\x1b\x24\x42\x21\x41\x1b\x28\x42")
110
110
  end
111
+
112
+ describe 'invert_table' do
113
+ it 'pickups the first(least) of duplicated values when inverting hash table' do
114
+ hash = invert_table({
115
+ 0xFE009 => 0xE63E,
116
+ 0xFE00A => 0xE63E,
117
+ 0xFE00B => 0x3013,
118
+ 0xFE010 => 0xE6B3,
119
+ 0xFE038 => 0xE73F})
120
+ hash[0xE63E].should == 0xFE009
121
+ hash[0x3013].should == 0xFE00B
122
+ end
123
+
124
+ it 'should not raise error when hash has Array keys' do
125
+ hash = invert_table({
126
+ [0x1F1E8, 0x1F1F3] => 0x3013,
127
+ 0x1F1FF => 0x3013,
128
+ 0x1F526 => 0xE6FB,
129
+ [0x0023, 0x20E3] => 0xE6E0,
130
+ 0x1F354 => 0xE673})
131
+ hash[0x3013].should == [0x1F1E8, 0x1F1F3]
132
+ hash[0xE6FB].should == 0x1F526
133
+ end
134
+ end
111
135
  end
@@ -1,6 +1,6 @@
1
1
  source 'http://rubygems.org'
2
2
 
3
- gem 'rails', '~> 3.1.4'
3
+ gem 'rails', '~> 3.1.8'
4
4
  gem 'mail', '~> 2.3.0'
5
5
 
6
6
  # Bundle edge Rails instead:
data/tools/e4u_conv.rb ADDED
@@ -0,0 +1,122 @@
1
+ # -*- coding: utf-8 -*-
2
+ require 'nokogiri'
3
+ require 'scanf'
4
+ require 'pp'
5
+
6
+ xml = Nokogiri::XML(open(File.join(File.dirname(__FILE__), 'emoji4unicode.xml')).read)
7
+
8
+ google_docomo = []
9
+ google_kddi = []
10
+ google_softbank = []
11
+ unicode_docomo = []
12
+ unicode_kddi = []
13
+ unicode_softbank = []
14
+
15
+ xml.xpath('//e').each do |emoji|
16
+ # keycode
17
+ google = emoji.attributes['google'].value rescue nil
18
+ unicode = emoji.attributes['unicode'].value rescue nil
19
+
20
+ # carrier code
21
+ docomo = emoji.attributes['docomo'].value rescue '3013'
22
+ softbank = emoji.attributes['softbank'].value rescue '3013'
23
+ kddi = emoji.attributes['kddi'].value rescue '3013'
24
+
25
+ # fix google key
26
+ google = nil if google and google.match(/[^0-9a-fA-F\+]/)
27
+ # fix unicode key
28
+ if unicode
29
+ if unicode.match(/\+/)
30
+ unicodes = unicode.split(/\+/).delete_if{|e| e.strip == ''}
31
+ if unicodes.size == 1
32
+ unicode = '0x%s' % unicodes.first
33
+ else
34
+ unicode = '[' + unicodes.map{|e| '0x%s' % e.gsub(/[^0-9a-fA-F\+]/, '')}.join(', ') + ']'
35
+ end
36
+ else
37
+ unicode = '0x%s' % unicode
38
+ end
39
+ end
40
+
41
+ # fix docomo code
42
+ if docomo.match(/\+/)
43
+ docomo = '"' + docomo.split('+').map{|e| '&#x%s;' % e.gsub(/[^0-9a-fA-F\+]/, '')}.join('') + '"'
44
+ else
45
+ docomo = '0x%s' % docomo.gsub(/[^0-9a-fA-F]/, '')
46
+ end
47
+ # fix softbank code
48
+ if softbank.match(/\+/)
49
+ softbank = '"' + softbank.split('+').delete_if{|e| e.strip == ''}.map{|s| '&#x%X;' % (s.gsub(/[^0-9a-fA-F\+]/, '').scanf("%x").first + 0x1000)}.join('') + '"'
50
+ else
51
+ if softbank.match(/3013/)
52
+ softbank = '0x%s' % softbank
53
+ else
54
+ softbank = '0x%X' % (softbank.gsub(/[^0-9a-fA-F]/, '').scanf('%x').first + 0x1000)
55
+ end
56
+ end
57
+ # fix kddi code
58
+ if kddi.match(/\+/)
59
+ kddi = '"' + kddi.split('+').map{|e| '&#x%s;' % e.gsub(/[^0-9a-fA-F\+]/, '')}.join('') + '"'
60
+ else
61
+ kddi = '0x%s' % kddi.gsub(/[^0-9a-fA-F]/, '')
62
+ end
63
+
64
+ if google
65
+ google_docomo << [google, docomo]
66
+ google_kddi << [google, kddi]
67
+ google_softbank << [google, softbank]
68
+ end
69
+
70
+ if unicode
71
+ # Unicode 絵文字は SoftBank に寄せる
72
+ unicode_docomo << [unicode, docomo]
73
+ unicode_kddi << [unicode, kddi]
74
+ unicode_softbank << [unicode, softbank]
75
+ end
76
+ end
77
+
78
+ google_emoji_rb = open(File.join(File.dirname(__FILE__), '/../lib/jpmobile/emoticon/google.rb'), 'w') do |f|
79
+ # docomo
80
+ f.puts 'Jpmobile::Emoticon::GOOGLE_TO_DOCOMO_UNICODE = {'
81
+ google_docomo.each do |google, docomo|
82
+ f.puts " 0x%s => %s," % [google, docomo]
83
+ end
84
+ f.puts '}'
85
+
86
+ # kddi
87
+ f.puts 'Jpmobile::Emoticon::GOOGLE_TO_AU_UNICODE = {'
88
+ google_kddi.each do |google, kddi|
89
+ f.puts " 0x%s => %s," % [google, kddi]
90
+ end
91
+ f.puts '}'
92
+
93
+ # softbank
94
+ f.puts 'Jpmobile::Emoticon::GOOGLE_TO_SOFTBANK_UNICODE = {'
95
+ google_softbank.each do |google, softbank|
96
+ f.puts " 0x%s => %s," % [google, softbank]
97
+ end
98
+ f.puts '}'
99
+ end
100
+
101
+ unicode_emoji_rb = open(File.join(File.dirname(__FILE__), '/../lib/jpmobile/emoticon/unicode.rb'), 'w') do |f|
102
+ # docomo
103
+ f.puts 'Jpmobile::Emoticon::UNICODE_TO_DOCOMO_UNICODE = {'
104
+ unicode_docomo.each do |unicode, docomo|
105
+ f.puts " %s => %s," % [unicode, docomo]
106
+ end
107
+ f.puts '}'
108
+
109
+ # docomo
110
+ f.puts 'Jpmobile::Emoticon::UNICODE_TO_AU_UNICODE = {'
111
+ unicode_kddi.each do |unicode, kddi|
112
+ f.puts " %s => %s," % [unicode, kddi]
113
+ end
114
+ f.puts '}'
115
+
116
+ # softbank
117
+ f.puts 'Jpmobile::Emoticon::UNICODE_TO_SOFTBANK_UNICODE = {'
118
+ unicode_softbank.each do |unicode, softbank|
119
+ f.puts " %s => %s," % [unicode, softbank]
120
+ end
121
+ f.puts '}'
122
+ end
metadata CHANGED
@@ -1,311 +1,313 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: jpmobile
3
- version: !ruby/object:Gem::Version
4
- hash: 31
3
+ version: !ruby/object:Gem::Version
4
+ version: 2.0.9
5
5
  prerelease:
6
- segments:
7
- - 2
8
- - 0
9
- - 8
10
- version: 2.0.8
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Yoji Shidara
14
9
  - Shin-ichiro OGAWA
15
10
  autorequire:
16
11
  bindir: bin
17
12
  cert_chain: []
18
-
19
- date: 2012-05-16 00:00:00 Z
20
- dependencies:
21
- - !ruby/object:Gem::Dependency
22
- requirement: &id001 !ruby/object:Gem::Requirement
13
+ date: 2012-08-10 00:00:00.000000000 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: mail
17
+ requirement: !ruby/object:Gem::Requirement
23
18
  none: false
24
- requirements:
19
+ requirements:
25
20
  - - ~>
26
- - !ruby/object:Gem::Version
27
- hash: 3
28
- segments:
29
- - 2
30
- - 3
31
- - 0
21
+ - !ruby/object:Gem::Version
32
22
  version: 2.3.0
33
- prerelease: false
34
- name: mail
35
23
  type: :development
36
- version_requirements: *id001
37
- - !ruby/object:Gem::Dependency
38
- requirement: &id002 !ruby/object:Gem::Requirement
39
- none: false
40
- requirements:
41
- - - ">="
42
- - !ruby/object:Gem::Version
43
- hash: 3
44
- segments:
45
- - 0
46
- version: "0"
47
24
  prerelease: false
48
- name: jeweler
49
- type: :development
50
- version_requirements: *id002
51
- - !ruby/object:Gem::Dependency
52
- requirement: &id003 !ruby/object:Gem::Requirement
25
+ version_requirements: !ruby/object:Gem::Requirement
53
26
  none: false
54
- requirements:
27
+ requirements:
55
28
  - - ~>
56
- - !ruby/object:Gem::Version
57
- hash: 11
58
- segments:
59
- - 3
60
- - 1
61
- - 4
62
- version: 3.1.4
29
+ - !ruby/object:Gem::Version
30
+ version: 2.3.0
31
+ - !ruby/object:Gem::Dependency
32
+ name: jeweler
33
+ requirement: !ruby/object:Gem::Requirement
34
+ none: false
35
+ requirements:
36
+ - - ! '>='
37
+ - !ruby/object:Gem::Version
38
+ version: '0'
39
+ type: :development
63
40
  prerelease: false
41
+ version_requirements: !ruby/object:Gem::Requirement
42
+ none: false
43
+ requirements:
44
+ - - ! '>='
45
+ - !ruby/object:Gem::Version
46
+ version: '0'
47
+ - !ruby/object:Gem::Dependency
64
48
  name: rails
65
- type: :development
66
- version_requirements: *id003
67
- - !ruby/object:Gem::Dependency
68
- requirement: &id004 !ruby/object:Gem::Requirement
49
+ requirement: !ruby/object:Gem::Requirement
69
50
  none: false
70
- requirements:
51
+ requirements:
71
52
  - - ~>
72
- - !ruby/object:Gem::Version
73
- hash: 47
74
- segments:
75
- - 2
76
- - 8
77
- - 0
78
- version: 2.8.0
53
+ - !ruby/object:Gem::Version
54
+ version: 3.1.8
55
+ type: :development
79
56
  prerelease: false
57
+ version_requirements: !ruby/object:Gem::Requirement
58
+ none: false
59
+ requirements:
60
+ - - ~>
61
+ - !ruby/object:Gem::Version
62
+ version: 3.1.8
63
+ - !ruby/object:Gem::Dependency
80
64
  name: rspec
81
- type: :development
82
- version_requirements: *id004
83
- - !ruby/object:Gem::Dependency
84
- requirement: &id005 !ruby/object:Gem::Requirement
65
+ requirement: !ruby/object:Gem::Requirement
85
66
  none: false
86
- requirements:
67
+ requirements:
87
68
  - - ~>
88
- - !ruby/object:Gem::Version
89
- hash: 47
90
- segments:
91
- - 2
92
- - 8
93
- - 0
69
+ - !ruby/object:Gem::Version
94
70
  version: 2.8.0
71
+ type: :development
95
72
  prerelease: false
73
+ version_requirements: !ruby/object:Gem::Requirement
74
+ none: false
75
+ requirements:
76
+ - - ~>
77
+ - !ruby/object:Gem::Version
78
+ version: 2.8.0
79
+ - !ruby/object:Gem::Dependency
96
80
  name: rspec-rails
81
+ requirement: !ruby/object:Gem::Requirement
82
+ none: false
83
+ requirements:
84
+ - - ~>
85
+ - !ruby/object:Gem::Version
86
+ version: 2.8.0
97
87
  type: :development
98
- version_requirements: *id005
99
- - !ruby/object:Gem::Dependency
100
- requirement: &id006 !ruby/object:Gem::Requirement
101
- none: false
102
- requirements:
103
- - - ">="
104
- - !ruby/object:Gem::Version
105
- hash: 3
106
- segments:
107
- - 0
108
- version: "0"
109
88
  prerelease: false
89
+ version_requirements: !ruby/object:Gem::Requirement
90
+ none: false
91
+ requirements:
92
+ - - ~>
93
+ - !ruby/object:Gem::Version
94
+ version: 2.8.0
95
+ - !ruby/object:Gem::Dependency
110
96
  name: webrat
97
+ requirement: !ruby/object:Gem::Requirement
98
+ none: false
99
+ requirements:
100
+ - - ! '>='
101
+ - !ruby/object:Gem::Version
102
+ version: '0'
111
103
  type: :development
112
- version_requirements: *id006
113
- - !ruby/object:Gem::Dependency
114
- requirement: &id007 !ruby/object:Gem::Requirement
115
- none: false
116
- requirements:
117
- - - ">="
118
- - !ruby/object:Gem::Version
119
- hash: 3
120
- segments:
121
- - 0
122
- version: "0"
123
104
  prerelease: false
105
+ version_requirements: !ruby/object:Gem::Requirement
106
+ none: false
107
+ requirements:
108
+ - - ! '>='
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ - !ruby/object:Gem::Dependency
124
112
  name: geokit
113
+ requirement: !ruby/object:Gem::Requirement
114
+ none: false
115
+ requirements:
116
+ - - ! '>='
117
+ - !ruby/object:Gem::Version
118
+ version: '0'
125
119
  type: :development
126
- version_requirements: *id007
127
- - !ruby/object:Gem::Dependency
128
- requirement: &id008 !ruby/object:Gem::Requirement
129
- none: false
130
- requirements:
131
- - - ">="
132
- - !ruby/object:Gem::Version
133
- hash: 3
134
- segments:
135
- - 0
136
- version: "0"
137
120
  prerelease: false
121
+ version_requirements: !ruby/object:Gem::Requirement
122
+ none: false
123
+ requirements:
124
+ - - ! '>='
125
+ - !ruby/object:Gem::Version
126
+ version: '0'
127
+ - !ruby/object:Gem::Dependency
138
128
  name: sqlite3-ruby
129
+ requirement: !ruby/object:Gem::Requirement
130
+ none: false
131
+ requirements:
132
+ - - ! '>='
133
+ - !ruby/object:Gem::Version
134
+ version: '0'
139
135
  type: :development
140
- version_requirements: *id008
141
- - !ruby/object:Gem::Dependency
142
- requirement: &id009 !ruby/object:Gem::Requirement
143
- none: false
144
- requirements:
145
- - - ">="
146
- - !ruby/object:Gem::Version
147
- hash: 3
148
- segments:
149
- - 0
150
- version: "0"
151
136
  prerelease: false
137
+ version_requirements: !ruby/object:Gem::Requirement
138
+ none: false
139
+ requirements:
140
+ - - ! '>='
141
+ - !ruby/object:Gem::Version
142
+ version: '0'
143
+ - !ruby/object:Gem::Dependency
152
144
  name: hpricot
145
+ requirement: !ruby/object:Gem::Requirement
146
+ none: false
147
+ requirements:
148
+ - - ! '>='
149
+ - !ruby/object:Gem::Version
150
+ version: '0'
153
151
  type: :development
154
- version_requirements: *id009
155
- - !ruby/object:Gem::Dependency
156
- requirement: &id010 !ruby/object:Gem::Requirement
157
- none: false
158
- requirements:
159
- - - ">="
160
- - !ruby/object:Gem::Version
161
- hash: 3
162
- segments:
163
- - 3
164
- - 1
165
- - 0
166
- version: 3.1.0
167
152
  prerelease: false
153
+ version_requirements: !ruby/object:Gem::Requirement
154
+ none: false
155
+ requirements:
156
+ - - ! '>='
157
+ - !ruby/object:Gem::Version
158
+ version: '0'
159
+ - !ruby/object:Gem::Dependency
168
160
  name: rails
161
+ requirement: !ruby/object:Gem::Requirement
162
+ none: false
163
+ requirements:
164
+ - - ! '>='
165
+ - !ruby/object:Gem::Version
166
+ version: 3.1.0
169
167
  type: :development
170
- version_requirements: *id010
171
- - !ruby/object:Gem::Dependency
172
- requirement: &id011 !ruby/object:Gem::Requirement
173
- none: false
174
- requirements:
175
- - - ">="
176
- - !ruby/object:Gem::Version
177
- hash: 1
178
- segments:
179
- - 1
180
- - 5
181
- - 1
182
- version: 1.5.1
183
168
  prerelease: false
169
+ version_requirements: !ruby/object:Gem::Requirement
170
+ none: false
171
+ requirements:
172
+ - - ! '>='
173
+ - !ruby/object:Gem::Version
174
+ version: 3.1.0
175
+ - !ruby/object:Gem::Dependency
184
176
  name: jeweler
177
+ requirement: !ruby/object:Gem::Requirement
178
+ none: false
179
+ requirements:
180
+ - - ! '>='
181
+ - !ruby/object:Gem::Version
182
+ version: 1.5.1
185
183
  type: :development
186
- version_requirements: *id011
187
- - !ruby/object:Gem::Dependency
188
- requirement: &id012 !ruby/object:Gem::Requirement
189
- none: false
190
- requirements:
191
- - - ">="
192
- - !ruby/object:Gem::Version
193
- hash: 23
194
- segments:
195
- - 2
196
- - 6
197
- - 0
198
- version: 2.6.0
199
184
  prerelease: false
185
+ version_requirements: !ruby/object:Gem::Requirement
186
+ none: false
187
+ requirements:
188
+ - - ! '>='
189
+ - !ruby/object:Gem::Version
190
+ version: 1.5.1
191
+ - !ruby/object:Gem::Dependency
200
192
  name: rspec
201
- type: :development
202
- version_requirements: *id012
203
- - !ruby/object:Gem::Dependency
204
- requirement: &id013 !ruby/object:Gem::Requirement
205
- none: false
206
- requirements:
207
- - - ">="
208
- - !ruby/object:Gem::Version
209
- hash: 23
210
- segments:
211
- - 2
212
- - 6
213
- - 0
193
+ requirement: !ruby/object:Gem::Requirement
194
+ none: false
195
+ requirements:
196
+ - - ! '>='
197
+ - !ruby/object:Gem::Version
214
198
  version: 2.6.0
199
+ type: :development
215
200
  prerelease: false
201
+ version_requirements: !ruby/object:Gem::Requirement
202
+ none: false
203
+ requirements:
204
+ - - ! '>='
205
+ - !ruby/object:Gem::Version
206
+ version: 2.6.0
207
+ - !ruby/object:Gem::Dependency
216
208
  name: rspec-rails
209
+ requirement: !ruby/object:Gem::Requirement
210
+ none: false
211
+ requirements:
212
+ - - ! '>='
213
+ - !ruby/object:Gem::Version
214
+ version: 2.6.0
217
215
  type: :development
218
- version_requirements: *id013
219
- - !ruby/object:Gem::Dependency
220
- requirement: &id014 !ruby/object:Gem::Requirement
221
- none: false
222
- requirements:
223
- - - ">="
224
- - !ruby/object:Gem::Version
225
- hash: 7
226
- segments:
227
- - 0
228
- - 7
229
- - 2
230
- version: 0.7.2
231
216
  prerelease: false
217
+ version_requirements: !ruby/object:Gem::Requirement
218
+ none: false
219
+ requirements:
220
+ - - ! '>='
221
+ - !ruby/object:Gem::Version
222
+ version: 2.6.0
223
+ - !ruby/object:Gem::Dependency
232
224
  name: webrat
225
+ requirement: !ruby/object:Gem::Requirement
226
+ none: false
227
+ requirements:
228
+ - - ! '>='
229
+ - !ruby/object:Gem::Version
230
+ version: 0.7.2
233
231
  type: :development
234
- version_requirements: *id014
235
- - !ruby/object:Gem::Dependency
236
- requirement: &id015 !ruby/object:Gem::Requirement
237
- none: false
238
- requirements:
239
- - - ">="
240
- - !ruby/object:Gem::Version
241
- hash: 3
242
- segments:
243
- - 1
244
- - 5
245
- - 0
246
- version: 1.5.0
247
232
  prerelease: false
233
+ version_requirements: !ruby/object:Gem::Requirement
234
+ none: false
235
+ requirements:
236
+ - - ! '>='
237
+ - !ruby/object:Gem::Version
238
+ version: 0.7.2
239
+ - !ruby/object:Gem::Dependency
248
240
  name: geokit
241
+ requirement: !ruby/object:Gem::Requirement
242
+ none: false
243
+ requirements:
244
+ - - ! '>='
245
+ - !ruby/object:Gem::Version
246
+ version: 1.5.0
249
247
  type: :development
250
- version_requirements: *id015
251
- - !ruby/object:Gem::Dependency
252
- requirement: &id016 !ruby/object:Gem::Requirement
253
- none: false
254
- requirements:
255
- - - ">="
256
- - !ruby/object:Gem::Version
257
- hash: 31
258
- segments:
259
- - 1
260
- - 3
261
- - 2
262
- version: 1.3.2
263
248
  prerelease: false
249
+ version_requirements: !ruby/object:Gem::Requirement
250
+ none: false
251
+ requirements:
252
+ - - ! '>='
253
+ - !ruby/object:Gem::Version
254
+ version: 1.5.0
255
+ - !ruby/object:Gem::Dependency
264
256
  name: sqlite3-ruby
257
+ requirement: !ruby/object:Gem::Requirement
258
+ none: false
259
+ requirements:
260
+ - - ! '>='
261
+ - !ruby/object:Gem::Version
262
+ version: 1.3.2
265
263
  type: :development
266
- version_requirements: *id016
267
- - !ruby/object:Gem::Dependency
268
- requirement: &id017 !ruby/object:Gem::Requirement
269
- none: false
270
- requirements:
271
- - - ">="
272
- - !ruby/object:Gem::Version
273
- hash: 57
274
- segments:
275
- - 0
276
- - 8
277
- - 3
278
- version: 0.8.3
279
264
  prerelease: false
265
+ version_requirements: !ruby/object:Gem::Requirement
266
+ none: false
267
+ requirements:
268
+ - - ! '>='
269
+ - !ruby/object:Gem::Version
270
+ version: 1.3.2
271
+ - !ruby/object:Gem::Dependency
280
272
  name: hpricot
273
+ requirement: !ruby/object:Gem::Requirement
274
+ none: false
275
+ requirements:
276
+ - - ! '>='
277
+ - !ruby/object:Gem::Version
278
+ version: 0.8.3
281
279
  type: :development
282
- version_requirements: *id017
283
- - !ruby/object:Gem::Dependency
284
- requirement: &id018 !ruby/object:Gem::Requirement
285
- none: false
286
- requirements:
287
- - - ">="
288
- - !ruby/object:Gem::Version
289
- hash: 21
290
- segments:
291
- - 1
292
- - 2
293
- - 5
294
- version: 1.2.5
295
280
  prerelease: false
281
+ version_requirements: !ruby/object:Gem::Requirement
282
+ none: false
283
+ requirements:
284
+ - - ! '>='
285
+ - !ruby/object:Gem::Version
286
+ version: 0.8.3
287
+ - !ruby/object:Gem::Dependency
296
288
  name: git
289
+ requirement: !ruby/object:Gem::Requirement
290
+ none: false
291
+ requirements:
292
+ - - ! '>='
293
+ - !ruby/object:Gem::Version
294
+ version: 1.2.5
297
295
  type: :development
298
- version_requirements: *id018
296
+ prerelease: false
297
+ version_requirements: !ruby/object:Gem::Requirement
298
+ none: false
299
+ requirements:
300
+ - - ! '>='
301
+ - !ruby/object:Gem::Version
302
+ version: 1.2.5
299
303
  description: A Rails plugin for Japanese mobile-phones
300
304
  email: dara@shidara.net
301
305
  executables: []
302
-
303
306
  extensions: []
304
-
305
- extra_rdoc_files:
307
+ extra_rdoc_files:
306
308
  - README
307
309
  - README.rdoc
308
- files:
310
+ files:
309
311
  - .rspec
310
312
  - CHANGELOG
311
313
  - Gemfile
@@ -325,7 +327,9 @@ files:
325
327
  - lib/jpmobile/emoticon/au.rb
326
328
  - lib/jpmobile/emoticon/conversion_table.rb
327
329
  - lib/jpmobile/emoticon/docomo.rb
330
+ - lib/jpmobile/emoticon/google.rb
328
331
  - lib/jpmobile/emoticon/softbank.rb
332
+ - lib/jpmobile/emoticon/unicode.rb
329
333
  - lib/jpmobile/emoticon/z_combine.rb
330
334
  - lib/jpmobile/encoding.rb
331
335
  - lib/jpmobile/filter.rb
@@ -341,14 +345,17 @@ files:
341
345
  - lib/jpmobile/mobile/android.rb
342
346
  - lib/jpmobile/mobile/android_tablet.rb
343
347
  - lib/jpmobile/mobile/au.rb
348
+ - lib/jpmobile/mobile/black_berry.rb
344
349
  - lib/jpmobile/mobile/ddipocket.rb
345
350
  - lib/jpmobile/mobile/docomo.rb
346
351
  - lib/jpmobile/mobile/emobile.rb
352
+ - lib/jpmobile/mobile/google_emoticon.rb
347
353
  - lib/jpmobile/mobile/ipad.rb
348
354
  - lib/jpmobile/mobile/iphone.rb
349
355
  - lib/jpmobile/mobile/smart_phone.rb
350
356
  - lib/jpmobile/mobile/softbank.rb
351
357
  - lib/jpmobile/mobile/tablet.rb
358
+ - lib/jpmobile/mobile/unicode_emoticon.rb
352
359
  - lib/jpmobile/mobile/vodafone.rb
353
360
  - lib/jpmobile/mobile/willcom.rb
354
361
  - lib/jpmobile/mobile/windows_phone.rb
@@ -369,6 +376,7 @@ files:
369
376
  - lib/tasks/jpmobile_tasks.rake
370
377
  - spec/rack/jpmobile/android_spec.rb
371
378
  - spec/rack/jpmobile/au_spec.rb
379
+ - spec/rack/jpmobile/black_berry_spec.rb
372
380
  - spec/rack/jpmobile/docomo_spec.rb
373
381
  - spec/rack/jpmobile/emoticon_spec.rb
374
382
  - spec/rack/jpmobile/filter_spec.rb
@@ -523,6 +531,7 @@ files:
523
531
  - test/sinatra/test/filter_test.rb
524
532
  - test/sinatra/views/index.erb
525
533
  - test/sinatra/views/index_mobile.erb
534
+ - tools/e4u_conv.rb
526
535
  - tools/emoji/genregexp.rb
527
536
  - tools/generate_au_emoticon_table.rb
528
537
  - tools/generate_docomo_emoticon_table.rb
@@ -531,36 +540,26 @@ files:
531
540
  - tools/list_gps_unsupported_au.rb
532
541
  homepage: http://jpmobile-rails.org
533
542
  licenses: []
534
-
535
543
  post_install_message:
536
544
  rdoc_options: []
537
-
538
- require_paths:
545
+ require_paths:
539
546
  - lib
540
- required_ruby_version: !ruby/object:Gem::Requirement
547
+ required_ruby_version: !ruby/object:Gem::Requirement
541
548
  none: false
542
- requirements:
543
- - - ">="
544
- - !ruby/object:Gem::Version
545
- hash: 3
546
- segments:
547
- - 0
548
- version: "0"
549
- required_rubygems_version: !ruby/object:Gem::Requirement
549
+ requirements:
550
+ - - ! '>='
551
+ - !ruby/object:Gem::Version
552
+ version: '0'
553
+ required_rubygems_version: !ruby/object:Gem::Requirement
550
554
  none: false
551
- requirements:
552
- - - ">="
553
- - !ruby/object:Gem::Version
554
- hash: 3
555
- segments:
556
- - 0
557
- version: "0"
555
+ requirements:
556
+ - - ! '>='
557
+ - !ruby/object:Gem::Version
558
+ version: '0'
558
559
  requirements: []
559
-
560
560
  rubyforge_project:
561
561
  rubygems_version: 1.8.24
562
562
  signing_key:
563
563
  specification_version: 3
564
564
  summary: A Rails plugin for Japanese mobile-phones
565
565
  test_files: []
566
-