jpmobile 1.0.9 → 1.0.10

Sign up to get free protection for your applications and to get access to all the features.
@@ -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.0.3'
3
+ gem 'rails', '>= 3.0.17'
4
4
 
5
5
  # Bundle edge Rails instead:
6
6
  # gem 'rails', :git => 'git://github.com/rails/rails.git'
@@ -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,297 +1,295 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: jpmobile
3
- version: !ruby/object:Gem::Version
4
- version: 1.0.9
3
+ version: !ruby/object:Gem::Version
4
+ hash: 3
5
5
  prerelease:
6
+ segments:
7
+ - 1
8
+ - 0
9
+ - 10
10
+ version: 1.0.10
6
11
  platform: ruby
7
- authors:
12
+ authors:
8
13
  - Yoji Shidara
9
14
  - Shin-ichiro OGAWA
10
15
  autorequire:
11
16
  bindir: bin
12
17
  cert_chain: []
13
- date: 2012-05-16 00:00:00.000000000 Z
14
- dependencies:
15
- - !ruby/object:Gem::Dependency
18
+
19
+ date: 2012-08-10 00:00:00 Z
20
+ dependencies:
21
+ - !ruby/object:Gem::Dependency
22
+ requirement: &id001 !ruby/object:Gem::Requirement
23
+ none: false
24
+ requirements:
25
+ - - ">="
26
+ - !ruby/object:Gem::Version
27
+ hash: 3
28
+ segments:
29
+ - 0
30
+ version: "0"
31
+ prerelease: false
16
32
  name: jeweler
17
- requirement: !ruby/object:Gem::Requirement
18
- none: false
19
- requirements:
20
- - - ! '>='
21
- - !ruby/object:Gem::Version
22
- version: '0'
23
33
  type: :development
24
- prerelease: false
25
- version_requirements: !ruby/object:Gem::Requirement
26
- none: false
27
- requirements:
28
- - - ! '>='
29
- - !ruby/object:Gem::Version
30
- version: '0'
31
- - !ruby/object:Gem::Dependency
32
- name: rails
33
- requirement: !ruby/object:Gem::Requirement
34
+ version_requirements: *id001
35
+ - !ruby/object:Gem::Dependency
36
+ requirement: &id002 !ruby/object:Gem::Requirement
34
37
  none: false
35
- requirements:
38
+ requirements:
36
39
  - - ~>
37
- - !ruby/object:Gem::Version
38
- version: 3.0.10
39
- type: :development
40
+ - !ruby/object:Gem::Version
41
+ hash: 37
42
+ segments:
43
+ - 3
44
+ - 0
45
+ - 17
46
+ version: 3.0.17
40
47
  prerelease: false
41
- version_requirements: !ruby/object:Gem::Requirement
42
- none: false
43
- requirements:
44
- - - ~>
45
- - !ruby/object:Gem::Version
46
- version: 3.0.10
47
- - !ruby/object:Gem::Dependency
48
- name: rspec
49
- requirement: !ruby/object:Gem::Requirement
48
+ name: rails
49
+ type: :development
50
+ version_requirements: *id002
51
+ - !ruby/object:Gem::Dependency
52
+ requirement: &id003 !ruby/object:Gem::Requirement
50
53
  none: false
51
- requirements:
54
+ requirements:
52
55
  - - ~>
53
- - !ruby/object:Gem::Version
56
+ - !ruby/object:Gem::Version
57
+ hash: 23
58
+ segments:
59
+ - 2
60
+ - 6
61
+ - 0
54
62
  version: 2.6.0
55
- type: :development
56
63
  prerelease: false
57
- version_requirements: !ruby/object:Gem::Requirement
64
+ name: rspec
65
+ type: :development
66
+ version_requirements: *id003
67
+ - !ruby/object:Gem::Dependency
68
+ requirement: &id004 !ruby/object:Gem::Requirement
58
69
  none: false
59
- requirements:
70
+ requirements:
60
71
  - - ~>
61
- - !ruby/object:Gem::Version
72
+ - !ruby/object:Gem::Version
73
+ hash: 23
74
+ segments:
75
+ - 2
76
+ - 6
77
+ - 0
62
78
  version: 2.6.0
63
- - !ruby/object:Gem::Dependency
79
+ prerelease: false
64
80
  name: rspec-rails
65
- requirement: !ruby/object:Gem::Requirement
66
- none: false
67
- requirements:
68
- - - ~>
69
- - !ruby/object:Gem::Version
70
- version: 2.6.0
71
81
  type: :development
82
+ version_requirements: *id004
83
+ - !ruby/object:Gem::Dependency
84
+ requirement: &id005 !ruby/object:Gem::Requirement
85
+ none: false
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ hash: 3
90
+ segments:
91
+ - 0
92
+ version: "0"
72
93
  prerelease: false
73
- version_requirements: !ruby/object:Gem::Requirement
74
- none: false
75
- requirements:
76
- - - ~>
77
- - !ruby/object:Gem::Version
78
- version: 2.6.0
79
- - !ruby/object:Gem::Dependency
80
94
  name: webrat
81
- requirement: !ruby/object:Gem::Requirement
82
- none: false
83
- requirements:
84
- - - ! '>='
85
- - !ruby/object:Gem::Version
86
- version: '0'
87
95
  type: :development
96
+ version_requirements: *id005
97
+ - !ruby/object:Gem::Dependency
98
+ requirement: &id006 !ruby/object:Gem::Requirement
99
+ none: false
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ hash: 3
104
+ segments:
105
+ - 0
106
+ version: "0"
88
107
  prerelease: false
89
- version_requirements: !ruby/object:Gem::Requirement
90
- none: false
91
- requirements:
92
- - - ! '>='
93
- - !ruby/object:Gem::Version
94
- version: '0'
95
- - !ruby/object:Gem::Dependency
96
108
  name: geokit
97
- requirement: !ruby/object:Gem::Requirement
98
- none: false
99
- requirements:
100
- - - ! '>='
101
- - !ruby/object:Gem::Version
102
- version: '0'
103
109
  type: :development
110
+ version_requirements: *id006
111
+ - !ruby/object:Gem::Dependency
112
+ requirement: &id007 !ruby/object:Gem::Requirement
113
+ none: false
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ hash: 3
118
+ segments:
119
+ - 0
120
+ version: "0"
104
121
  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
112
122
  name: sqlite3-ruby
113
- requirement: !ruby/object:Gem::Requirement
114
- none: false
115
- requirements:
116
- - - ! '>='
117
- - !ruby/object:Gem::Version
118
- version: '0'
119
123
  type: :development
124
+ version_requirements: *id007
125
+ - !ruby/object:Gem::Dependency
126
+ requirement: &id008 !ruby/object:Gem::Requirement
127
+ none: false
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ hash: 3
132
+ segments:
133
+ - 0
134
+ version: "0"
120
135
  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
128
136
  name: hpricot
129
- requirement: !ruby/object:Gem::Requirement
130
- none: false
131
- requirements:
132
- - - ! '>='
133
- - !ruby/object:Gem::Version
134
- version: '0'
135
137
  type: :development
138
+ version_requirements: *id008
139
+ - !ruby/object:Gem::Dependency
140
+ requirement: &id009 !ruby/object:Gem::Requirement
141
+ none: false
142
+ requirements:
143
+ - - ">="
144
+ - !ruby/object:Gem::Version
145
+ hash: 1
146
+ segments:
147
+ - 1
148
+ - 5
149
+ - 1
150
+ version: 1.5.1
136
151
  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
144
152
  name: jeweler
145
- requirement: !ruby/object:Gem::Requirement
146
- none: false
147
- requirements:
148
- - - ! '>='
149
- - !ruby/object:Gem::Version
150
- version: 1.5.1
151
153
  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
+ - 2
164
+ - 3
165
+ - 0
166
+ version: 2.3.0
152
167
  prerelease: false
153
- version_requirements: !ruby/object:Gem::Requirement
154
- none: false
155
- requirements:
156
- - - ! '>='
157
- - !ruby/object:Gem::Version
158
- version: 1.5.1
159
- - !ruby/object:Gem::Dependency
160
168
  name: rspec
161
- requirement: !ruby/object:Gem::Requirement
162
- none: false
163
- requirements:
164
- - - ! '>='
165
- - !ruby/object:Gem::Version
166
- version: 2.3.0
167
169
  type: :development
168
- prerelease: false
169
- version_requirements: !ruby/object:Gem::Requirement
170
- none: false
171
- requirements:
172
- - - ! '>='
173
- - !ruby/object:Gem::Version
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: 3
178
+ segments:
179
+ - 2
180
+ - 3
181
+ - 0
174
182
  version: 2.3.0
175
- - !ruby/object:Gem::Dependency
183
+ prerelease: false
176
184
  name: rspec-rails
177
- requirement: !ruby/object:Gem::Requirement
178
- none: false
179
- requirements:
180
- - - ! '>='
181
- - !ruby/object:Gem::Version
182
- version: 2.3.0
183
185
  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: 7
194
+ segments:
195
+ - 0
196
+ - 7
197
+ - 2
198
+ version: 0.7.2
184
199
  prerelease: false
185
- version_requirements: !ruby/object:Gem::Requirement
186
- none: false
187
- requirements:
188
- - - ! '>='
189
- - !ruby/object:Gem::Version
190
- version: 2.3.0
191
- - !ruby/object:Gem::Dependency
192
200
  name: webrat
193
- requirement: !ruby/object:Gem::Requirement
194
- none: false
195
- requirements:
196
- - - ! '>='
197
- - !ruby/object:Gem::Version
198
- version: 0.7.2
199
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: 3
210
+ segments:
211
+ - 1
212
+ - 5
213
+ - 0
214
+ version: 1.5.0
200
215
  prerelease: false
201
- version_requirements: !ruby/object:Gem::Requirement
202
- none: false
203
- requirements:
204
- - - ! '>='
205
- - !ruby/object:Gem::Version
206
- version: 0.7.2
207
- - !ruby/object:Gem::Dependency
208
216
  name: geokit
209
- requirement: !ruby/object:Gem::Requirement
210
- none: false
211
- requirements:
212
- - - ! '>='
213
- - !ruby/object:Gem::Version
214
- version: 1.5.0
215
217
  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: 31
226
+ segments:
227
+ - 1
228
+ - 3
229
+ - 2
230
+ version: 1.3.2
216
231
  prerelease: false
217
- version_requirements: !ruby/object:Gem::Requirement
218
- none: false
219
- requirements:
220
- - - ! '>='
221
- - !ruby/object:Gem::Version
222
- version: 1.5.0
223
- - !ruby/object:Gem::Dependency
224
232
  name: sqlite3-ruby
225
- requirement: !ruby/object:Gem::Requirement
226
- none: false
227
- requirements:
228
- - - ! '>='
229
- - !ruby/object:Gem::Version
230
- version: 1.3.2
231
233
  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: 57
242
+ segments:
243
+ - 0
244
+ - 8
245
+ - 3
246
+ version: 0.8.3
232
247
  prerelease: false
233
- version_requirements: !ruby/object:Gem::Requirement
234
- none: false
235
- requirements:
236
- - - ! '>='
237
- - !ruby/object:Gem::Version
238
- version: 1.3.2
239
- - !ruby/object:Gem::Dependency
240
248
  name: hpricot
241
- requirement: !ruby/object:Gem::Requirement
242
- none: false
243
- requirements:
244
- - - ! '>='
245
- - !ruby/object:Gem::Version
246
- version: 0.8.3
247
249
  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: 21
258
+ segments:
259
+ - 1
260
+ - 2
261
+ - 5
262
+ version: 1.2.5
248
263
  prerelease: false
249
- version_requirements: !ruby/object:Gem::Requirement
250
- none: false
251
- requirements:
252
- - - ! '>='
253
- - !ruby/object:Gem::Version
254
- version: 0.8.3
255
- - !ruby/object:Gem::Dependency
256
264
  name: git
257
- requirement: !ruby/object:Gem::Requirement
258
- none: false
259
- requirements:
260
- - - ! '>='
261
- - !ruby/object:Gem::Version
262
- version: 1.2.5
263
265
  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: 1
274
+ segments:
275
+ - 3
276
+ - 0
277
+ - 3
278
+ version: 3.0.3
264
279
  prerelease: false
265
- version_requirements: !ruby/object:Gem::Requirement
266
- none: false
267
- requirements:
268
- - - ! '>='
269
- - !ruby/object:Gem::Version
270
- version: 1.2.5
271
- - !ruby/object:Gem::Dependency
272
280
  name: rails
273
- requirement: !ruby/object:Gem::Requirement
274
- none: false
275
- requirements:
276
- - - ! '>='
277
- - !ruby/object:Gem::Version
278
- version: 3.0.3
279
281
  type: :development
280
- prerelease: false
281
- version_requirements: !ruby/object:Gem::Requirement
282
- none: false
283
- requirements:
284
- - - ! '>='
285
- - !ruby/object:Gem::Version
286
- version: 3.0.3
282
+ version_requirements: *id017
287
283
  description: A Rails plugin for Japanese mobile-phones
288
284
  email: dara@shidara.net
289
285
  executables: []
286
+
290
287
  extensions: []
291
- extra_rdoc_files:
288
+
289
+ extra_rdoc_files:
292
290
  - README
293
291
  - README.rdoc
294
- files:
292
+ files:
295
293
  - .rspec
296
294
  - CHANGELOG
297
295
  - Gemfile
@@ -311,7 +309,9 @@ files:
311
309
  - lib/jpmobile/emoticon/au.rb
312
310
  - lib/jpmobile/emoticon/conversion_table.rb
313
311
  - lib/jpmobile/emoticon/docomo.rb
312
+ - lib/jpmobile/emoticon/google.rb
314
313
  - lib/jpmobile/emoticon/softbank.rb
314
+ - lib/jpmobile/emoticon/unicode.rb
315
315
  - lib/jpmobile/emoticon/z_combine.rb
316
316
  - lib/jpmobile/encoding.rb
317
317
  - lib/jpmobile/filter.rb
@@ -327,14 +327,17 @@ files:
327
327
  - lib/jpmobile/mobile/android.rb
328
328
  - lib/jpmobile/mobile/android_tablet.rb
329
329
  - lib/jpmobile/mobile/au.rb
330
+ - lib/jpmobile/mobile/black_berry.rb
330
331
  - lib/jpmobile/mobile/ddipocket.rb
331
332
  - lib/jpmobile/mobile/docomo.rb
332
333
  - lib/jpmobile/mobile/emobile.rb
334
+ - lib/jpmobile/mobile/google_emoticon.rb
333
335
  - lib/jpmobile/mobile/ipad.rb
334
336
  - lib/jpmobile/mobile/iphone.rb
335
337
  - lib/jpmobile/mobile/smart_phone.rb
336
338
  - lib/jpmobile/mobile/softbank.rb
337
339
  - lib/jpmobile/mobile/tablet.rb
340
+ - lib/jpmobile/mobile/unicode_emoticon.rb
338
341
  - lib/jpmobile/mobile/vodafone.rb
339
342
  - lib/jpmobile/mobile/willcom.rb
340
343
  - lib/jpmobile/mobile/windows_phone.rb
@@ -353,6 +356,7 @@ files:
353
356
  - lib/tasks/jpmobile_tasks.rake
354
357
  - spec/rack/jpmobile/android_spec.rb
355
358
  - spec/rack/jpmobile/au_spec.rb
359
+ - spec/rack/jpmobile/black_berry_spec.rb
356
360
  - spec/rack/jpmobile/docomo_spec.rb
357
361
  - spec/rack/jpmobile/emoticon_spec.rb
358
362
  - spec/rack/jpmobile/filter_spec.rb
@@ -507,6 +511,7 @@ files:
507
511
  - test/sinatra/test/filter_test.rb
508
512
  - test/sinatra/views/index.erb
509
513
  - test/sinatra/views/index_mobile.erb
514
+ - tools/e4u_conv.rb
510
515
  - tools/emoji/genregexp.rb
511
516
  - tools/generate_au_emoticon_table.rb
512
517
  - tools/generate_docomo_emoticon_table.rb
@@ -515,29 +520,36 @@ files:
515
520
  - tools/list_gps_unsupported_au.rb
516
521
  homepage: http://jpmobile-rails.org
517
522
  licenses: []
523
+
518
524
  post_install_message:
519
525
  rdoc_options: []
520
- require_paths:
526
+
527
+ require_paths:
521
528
  - lib
522
- required_ruby_version: !ruby/object:Gem::Requirement
529
+ required_ruby_version: !ruby/object:Gem::Requirement
523
530
  none: false
524
- requirements:
525
- - - ! '>='
526
- - !ruby/object:Gem::Version
527
- version: '0'
528
- segments:
531
+ requirements:
532
+ - - ">="
533
+ - !ruby/object:Gem::Version
534
+ hash: 3
535
+ segments:
529
536
  - 0
530
- hash: 257980358287254125
531
- required_rubygems_version: !ruby/object:Gem::Requirement
537
+ version: "0"
538
+ required_rubygems_version: !ruby/object:Gem::Requirement
532
539
  none: false
533
- requirements:
534
- - - ! '>='
535
- - !ruby/object:Gem::Version
536
- version: '0'
540
+ requirements:
541
+ - - ">="
542
+ - !ruby/object:Gem::Version
543
+ hash: 3
544
+ segments:
545
+ - 0
546
+ version: "0"
537
547
  requirements: []
548
+
538
549
  rubyforge_project:
539
550
  rubygems_version: 1.8.24
540
551
  signing_key:
541
552
  specification_version: 3
542
553
  summary: A Rails plugin for Japanese mobile-phones
543
554
  test_files: []
555
+