jpmobile 0.1.5 → 0.1.6
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/VERSION.yml +1 -1
- data/lib/jpmobile/rack/params_filter.rb +1 -1
- data/test/rails/rails_root/app/models/mobile_mailer.rb +18 -0
- data/test/rails/rails_root/config/initializers/secret_token.rb +1 -1
- data/test/rails/rails_root/spec/models/mobile_mailer_spec.rb +744 -0
- data/test/rails/rails_root/spec/spec_helper.rb +6 -0
- data/test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile.rb +2 -0
- data/test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile/email.rb +17 -2
- data/test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile/emoticon.rb +85 -23
- data/test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile/emoticon/au.rb +644 -0
- data/test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile/emoticon/softbank.rb +488 -0
- data/test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile/emoticon/z_combine.rb +16 -13
- data/test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile/hook_action_mailer.rb +22 -0
- data/test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile/mail.rb +265 -0
- data/test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile/mobile/abstract_mobile.rb +35 -0
- data/test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile/mobile/au.rb +28 -2
- data/test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile/mobile/docomo.rb +24 -1
- data/test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile/mobile/emobile.rb +1 -1
- data/test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile/mobile/softbank.rb +34 -1
- data/test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile/mobile/vodafone.rb +1 -1
- data/test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile/mobile/willcom.rb +1 -1
- data/test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile/util.rb +214 -13
- metadata +11 -3
@@ -6,7 +6,7 @@ module Jpmobile::Mobile
|
|
6
6
|
class Emobile < AbstractMobile
|
7
7
|
USER_AGENT_REGEXP = %r{^emobile/|^Mozilla/5.0 \(H11T; like Gecko; OpenBrowser\) NetFront/3.4$|^Mozilla/4.0 \(compatible; MSIE 6.0; Windows CE; IEMobile 7.7\) S11HT$}
|
8
8
|
# 対応するメールアドレスの正規表現
|
9
|
-
MAIL_ADDRESS_REGEXP =
|
9
|
+
MAIL_ADDRESS_REGEXP = /.+@emnet\.ne\.jp/
|
10
10
|
# EMnet対応端末から通知されるユニークなユーザIDを取得する。
|
11
11
|
def em_uid
|
12
12
|
@request.env['HTTP_X_EM_UID']
|
@@ -8,7 +8,7 @@ module Jpmobile::Mobile
|
|
8
8
|
# 対応するuser-agentの正規表現
|
9
9
|
USER_AGENT_REGEXP = /^(?:SoftBank|Semulator)/
|
10
10
|
# 対応するメールアドレスの正規表現 ディズニーモバイル対応
|
11
|
-
MAIL_ADDRESS_REGEXP =
|
11
|
+
MAIL_ADDRESS_REGEXP = /.+@(?:softbank\.ne\.jp|disney\.ne\.jp)/
|
12
12
|
|
13
13
|
# 製造番号を返す。無ければ +nil+ を返す。
|
14
14
|
def serial_number
|
@@ -58,5 +58,38 @@ module Jpmobile::Mobile
|
|
58
58
|
|
59
59
|
[str, charset]
|
60
60
|
end
|
61
|
+
|
62
|
+
# メール送信用
|
63
|
+
def to_mail_subject(str)
|
64
|
+
"=?#{mail_charset}?B?" + [to_mail_encoding(str)].pack('m').strip + "?="
|
65
|
+
end
|
66
|
+
def to_mail_body(str)
|
67
|
+
to_mail_encoding(str)
|
68
|
+
end
|
69
|
+
def mail_charset
|
70
|
+
"Shift_JIS"
|
71
|
+
end
|
72
|
+
def to_mail_internal(str, val)
|
73
|
+
# 絵文字を数値参照に変換
|
74
|
+
if Jpmobile::Util.shift_jis?(str) or Jpmobile::Util.ascii_8bit?(str)
|
75
|
+
# Shift_JIS
|
76
|
+
str = Jpmobile::Emoticon.external_to_unicodecr_softbank_sjis(Jpmobile::Util.sjis(str))
|
77
|
+
elsif Jpmobile::Util.utf8?(str)
|
78
|
+
# UTF-8
|
79
|
+
str = Jpmobile::Emoticon.external_to_unicodecr_softbank(Jpmobile::Util.utf8(str))
|
80
|
+
end
|
81
|
+
|
82
|
+
str
|
83
|
+
end
|
84
|
+
def to_mail_body_encoded?(str)
|
85
|
+
Jpmobile::Util.shift_jis?(str)
|
86
|
+
end
|
87
|
+
|
88
|
+
private
|
89
|
+
def to_mail_encoding(str)
|
90
|
+
str = Jpmobile::Emoticon.utf8_to_unicodecr(str)
|
91
|
+
str = Jpmobile::Util.utf8_to_sjis(str)
|
92
|
+
Jpmobile::Emoticon.unicodecr_to_softbank_email(str)
|
93
|
+
end
|
61
94
|
end
|
62
95
|
end
|
@@ -7,7 +7,7 @@ module Jpmobile::Mobile
|
|
7
7
|
# 対応するUser-Agentの正規表現
|
8
8
|
USER_AGENT_REGEXP = /^(Vodafone|Vemulator)/
|
9
9
|
# 対応するメールアドレスの正規表現
|
10
|
-
MAIL_ADDRESS_REGEXP =
|
10
|
+
MAIL_ADDRESS_REGEXP = /.+@[dhtcrknsq]\.vodafone\.ne\.jp/
|
11
11
|
|
12
12
|
# cookieに対応しているか?
|
13
13
|
def supports_cookie?
|
@@ -7,7 +7,7 @@ module Jpmobile::Mobile
|
|
7
7
|
# 対応するUser-Agentの正規表現
|
8
8
|
USER_AGENT_REGEXP = /^Mozilla\/3.0\(WILLCOM/
|
9
9
|
# 対応するメールアドレスの正規表現
|
10
|
-
MAIL_ADDRESS_REGEXP =
|
10
|
+
MAIL_ADDRESS_REGEXP = /.+@((.+\.)?pdx\.ne\.jp|willcom\.com)/
|
11
11
|
|
12
12
|
# 位置情報があれば Position のインスタンスを返す。無ければ +nil+ を返す。
|
13
13
|
def position
|
@@ -1,6 +1,16 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
1
2
|
require 'tempfile'
|
2
3
|
module Jpmobile
|
3
4
|
module Util
|
5
|
+
# SJIS = "Shift_JIS"
|
6
|
+
SJIS = "Windows-31J"
|
7
|
+
UTF8 = "UTF-8"
|
8
|
+
JIS = "ISO-2022-JP"
|
9
|
+
BINARY = "ASCII-8BIT"
|
10
|
+
|
11
|
+
WAVE_DASH = [0x301c].pack("U")
|
12
|
+
FULLWIDTH_TILDE = [0xff5e].pack("U")
|
13
|
+
|
4
14
|
module_function
|
5
15
|
def deep_apply(obj, &proc)
|
6
16
|
case obj
|
@@ -10,11 +20,12 @@ module Jpmobile
|
|
10
20
|
end
|
11
21
|
when Array
|
12
22
|
obj.collect!{|value| deep_apply(value, &proc)}
|
13
|
-
when
|
14
|
-
return obj
|
15
|
-
else
|
23
|
+
when String
|
16
24
|
obj = obj.to_param if obj.respond_to?(:to_param)
|
17
25
|
proc.call(obj)
|
26
|
+
else
|
27
|
+
# NilClass, TrueClass, FalseClass, Tempfile, StringIO, etc...
|
28
|
+
return obj
|
18
29
|
end
|
19
30
|
end
|
20
31
|
|
@@ -32,11 +43,12 @@ module Jpmobile
|
|
32
43
|
end
|
33
44
|
when Symbol
|
34
45
|
new_obj = proc.call(obj.to_s).to_sym
|
35
|
-
when
|
36
|
-
new_obj = obj
|
37
|
-
else
|
46
|
+
when String
|
38
47
|
obj = obj.to_param if obj.respond_to?(:to_param)
|
39
48
|
new_obj = proc.call(obj)
|
49
|
+
else
|
50
|
+
# NilClass, TrueClass, FalseClass, Tempfile, StringIO, etc...
|
51
|
+
new_obj = obj
|
40
52
|
end
|
41
53
|
|
42
54
|
new_obj
|
@@ -44,38 +56,67 @@ module Jpmobile
|
|
44
56
|
|
45
57
|
def sjis(ascii_8bit)
|
46
58
|
if ascii_8bit.respond_to?(:force_encoding)
|
47
|
-
ascii_8bit.force_encoding(
|
59
|
+
ascii_8bit.force_encoding(SJIS)
|
48
60
|
end
|
49
61
|
ascii_8bit
|
50
62
|
end
|
51
63
|
|
52
64
|
def utf8(ascii_8bit)
|
53
65
|
if ascii_8bit.respond_to?(:force_encoding)
|
54
|
-
ascii_8bit.force_encoding(
|
66
|
+
ascii_8bit.force_encoding(UTF8)
|
67
|
+
end
|
68
|
+
ascii_8bit
|
69
|
+
end
|
70
|
+
|
71
|
+
def jis(ascii_8bit)
|
72
|
+
if ascii_8bit.respond_to?(:force_encoding)
|
73
|
+
ascii_8bit.force_encoding(JIS)
|
55
74
|
end
|
56
75
|
ascii_8bit
|
57
76
|
end
|
58
77
|
|
59
78
|
def ascii_8bit(str)
|
60
79
|
if str.respond_to?(:force_encoding)
|
61
|
-
str.force_encoding(
|
80
|
+
str.force_encoding(BINARY)
|
62
81
|
end
|
63
82
|
str
|
64
83
|
end
|
65
84
|
|
66
85
|
def utf8_to_sjis(utf8_str)
|
86
|
+
# 波ダッシュ対策
|
87
|
+
utf8_str = wavedash_to_fullwidth_tilde(utf8_str)
|
88
|
+
|
67
89
|
if utf8_str.respond_to?(:encode)
|
68
|
-
utf8_str.encode(
|
90
|
+
utf8_str.encode(SJIS, :crlf_newline => true)
|
69
91
|
else
|
70
92
|
NKF.nkf("-m0 -x -W --oc=cp932", utf8_str).gsub(/\n/, "\r\n")
|
71
93
|
end
|
72
94
|
end
|
73
95
|
|
74
96
|
def sjis_to_utf8(sjis_str)
|
75
|
-
if sjis_str.respond_to?(:encode)
|
76
|
-
|
97
|
+
utf8_str = if sjis_str.respond_to?(:encode)
|
98
|
+
sjis_str.encode("UTF-8", :universal_newline => true)
|
99
|
+
else
|
100
|
+
NKF.nkf("-m0 -x -w --ic=cp932", sjis_str).gsub(/\r\n/, "\n")
|
101
|
+
end
|
102
|
+
|
103
|
+
# 波ダッシュ対策
|
104
|
+
fullwidth_tilde_to_wavedash(utf8_str)
|
105
|
+
end
|
106
|
+
|
107
|
+
def utf8_to_jis(utf8_str)
|
108
|
+
if utf8_str.respond_to?(:encode)
|
109
|
+
utf8_str.encode(JIS, :crlf_newline => true)
|
77
110
|
else
|
78
|
-
NKF.nkf("-m0 -x -
|
111
|
+
NKF.nkf("-m0 -x -Wj", utf8_str).gsub(/\n/, "\r\n")
|
112
|
+
end
|
113
|
+
end
|
114
|
+
|
115
|
+
def jis_to_utf8(jis_str)
|
116
|
+
if jis_str.respond_to?(:encode)
|
117
|
+
jis_str.encode(UTF8, :universal_newline => true)
|
118
|
+
else
|
119
|
+
NKF.nkf("-m0 -x -Jw", jis_str).gsub(/\r\n/, "\n")
|
79
120
|
end
|
80
121
|
end
|
81
122
|
|
@@ -87,11 +128,171 @@ module Jpmobile
|
|
87
128
|
end
|
88
129
|
end
|
89
130
|
|
131
|
+
def regexp_to_sjis(sjis_str)
|
132
|
+
if Object.const_defined?(:Encoding)
|
133
|
+
Regexp.compile(Regexp.escape(sjis(sjis_str)))
|
134
|
+
else
|
135
|
+
Regexp.compile(Regexp.escape(sjis_str,"s"),nil,'s')
|
136
|
+
end
|
137
|
+
end
|
138
|
+
|
90
139
|
def hash_to_utf8(hash)
|
91
140
|
new_hash = {}
|
92
141
|
hash.each do |keu, value|
|
93
142
|
new_hash[utf8(key)] = utf8(value)
|
94
143
|
end
|
95
144
|
end
|
145
|
+
|
146
|
+
def sjis_regexp(sjis)
|
147
|
+
sjis_str = sjis.kind_of?(Numeric) ? [sjis].pack('n') : sjis
|
148
|
+
|
149
|
+
if Object.const_defined?(:Encoding)
|
150
|
+
Regexp.compile(Regexp.escape(sjis_str.force_encoding(SJIS)))
|
151
|
+
else
|
152
|
+
Regexp.compile(Regexp.escape(sjis_str,"s"),nil,'s')
|
153
|
+
end
|
154
|
+
end
|
155
|
+
|
156
|
+
def jis_regexp(jis)
|
157
|
+
jis_str = jis.kind_of?(Numeric) ? [jis].pack('n') : jis
|
158
|
+
|
159
|
+
if Object.const_defined?(:Encoding)
|
160
|
+
Regexp.compile(Regexp.escape(jis_str.force_encoding("stateless-ISO-2022-JP-KDDI"))) # for au only
|
161
|
+
else
|
162
|
+
Regexp.compile(Regexp.escape(jis_str,"j"),nil,'j')
|
163
|
+
end
|
164
|
+
end
|
165
|
+
|
166
|
+
def encode(str, charset)
|
167
|
+
if Object.const_defined?(:Encoding)
|
168
|
+
str.encode(charset)
|
169
|
+
else
|
170
|
+
case charset
|
171
|
+
when /iso-2022-jp/i
|
172
|
+
NKF.nkf("-j", str)
|
173
|
+
when /shift_jis/i
|
174
|
+
NKF.nkf("-s", str)
|
175
|
+
when /utf-8/i
|
176
|
+
NKF.nkf("-w", str)
|
177
|
+
else
|
178
|
+
str
|
179
|
+
end
|
180
|
+
end
|
181
|
+
end
|
182
|
+
|
183
|
+
def wavedash_to_fullwidth_tilde(utf8_str)
|
184
|
+
utf8_str.gsub(WAVE_DASH, FULLWIDTH_TILDE)
|
185
|
+
end
|
186
|
+
|
187
|
+
def fullwidth_tilde_to_wavedash(utf8_str)
|
188
|
+
utf8_str.gsub(FULLWIDTH_TILDE, WAVE_DASH)
|
189
|
+
end
|
190
|
+
|
191
|
+
def force_encode(str, from, to)
|
192
|
+
s = str.dup
|
193
|
+
return str if detect_encoding(str) == to
|
194
|
+
|
195
|
+
if Object.const_defined?(:Encoding)
|
196
|
+
to = SJIS if to =~ /shift_jis/i
|
197
|
+
|
198
|
+
to_enc = ::Encoding.find(to)
|
199
|
+
return str if s.encoding == to_enc
|
200
|
+
|
201
|
+
if from
|
202
|
+
from_enc = ::Encoding.find(from)
|
203
|
+
s.force_encoding(from) unless s.encoding == from_enc
|
204
|
+
end
|
205
|
+
|
206
|
+
s.encode(to)
|
207
|
+
else
|
208
|
+
opt = []
|
209
|
+
opt << case from
|
210
|
+
when /iso-2022-jp/i
|
211
|
+
"-Jx"
|
212
|
+
when /shift_jis/i
|
213
|
+
"-Sx"
|
214
|
+
when /utf-8/i
|
215
|
+
"-Wx"
|
216
|
+
else
|
217
|
+
""
|
218
|
+
end
|
219
|
+
opt << case to
|
220
|
+
when /iso-2022-jp/i
|
221
|
+
"-j"
|
222
|
+
when /shift_jis/i, /windows_31j/i
|
223
|
+
"-s"
|
224
|
+
when /utf-8/i
|
225
|
+
"-w"
|
226
|
+
else
|
227
|
+
""
|
228
|
+
end
|
229
|
+
NKF.nkf(opt.join(" "), str)
|
230
|
+
end
|
231
|
+
end
|
232
|
+
|
233
|
+
def set_encoding(str, encoding)
|
234
|
+
if encoding and Object.const_defined?(:Encoding)
|
235
|
+
encoding = SJIS if encoding =~ /shift_jis/i
|
236
|
+
str.force_encoding(encoding)
|
237
|
+
end
|
238
|
+
|
239
|
+
str
|
240
|
+
end
|
241
|
+
|
242
|
+
def extract_charset(str)
|
243
|
+
case str
|
244
|
+
when /iso-2022-jp/i
|
245
|
+
"ISO-2022-JP"
|
246
|
+
when /shift_jis/i
|
247
|
+
"Shift_JIS"
|
248
|
+
when /utf-8/i
|
249
|
+
"UTF-8"
|
250
|
+
else
|
251
|
+
""
|
252
|
+
end
|
253
|
+
end
|
254
|
+
|
255
|
+
def detect_encoding(str)
|
256
|
+
if Object.const_defined?(:Encoding)
|
257
|
+
case str.encoding
|
258
|
+
when ::Encoding::ISO2022_JP
|
259
|
+
JIS
|
260
|
+
when ::Encoding::Shift_JIS, ::Encoding::Windows_31J, ::Encoding::CP932
|
261
|
+
SJIS
|
262
|
+
when ::Encoding::UTF_8
|
263
|
+
UTF8
|
264
|
+
when ::Encoding::ASCII_8BIT
|
265
|
+
BINARY
|
266
|
+
else
|
267
|
+
BINARY
|
268
|
+
end
|
269
|
+
else
|
270
|
+
case NKF.guess(str)
|
271
|
+
when NKF::SJIS
|
272
|
+
SJIS
|
273
|
+
when NKF::JIS
|
274
|
+
JIS
|
275
|
+
when NKF::UTF8
|
276
|
+
UTF8
|
277
|
+
when NKF::BINARY
|
278
|
+
BINARY
|
279
|
+
else
|
280
|
+
BINARY
|
281
|
+
end
|
282
|
+
end
|
283
|
+
end
|
284
|
+
|
285
|
+
def ascii_8bit?(str)
|
286
|
+
detect_encoding(str) == BINARY
|
287
|
+
end
|
288
|
+
def utf8?(str)
|
289
|
+
detect_encoding(str) == UTF8
|
290
|
+
end
|
291
|
+
def shift_jis?(str)
|
292
|
+
detect_encoding(str) == SJIS
|
293
|
+
end
|
294
|
+
def jis?(str)
|
295
|
+
detect_encoding(str) == JIS
|
296
|
+
end
|
96
297
|
end
|
97
298
|
end
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 1
|
8
|
-
-
|
9
|
-
version: 0.1.
|
8
|
+
- 6
|
9
|
+
version: 0.1.6
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Yoji Shidara
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2011-01-
|
18
|
+
date: 2011-01-21 00:00:00 +09:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
@@ -395,6 +395,7 @@ files:
|
|
395
395
|
- test/rails/rails_root/app/controllers/trans_sid_mobile_controller.rb
|
396
396
|
- test/rails/rails_root/app/controllers/trans_sid_none_controller.rb
|
397
397
|
- test/rails/rails_root/app/helpers/application_helper.rb
|
398
|
+
- test/rails/rails_root/app/models/mobile_mailer.rb
|
398
399
|
- test/rails/rails_root/app/models/user.rb
|
399
400
|
- test/rails/rails_root/autotest/discover.rb
|
400
401
|
- test/rails/rails_root/config/application.rb
|
@@ -415,6 +416,7 @@ files:
|
|
415
416
|
- test/rails/rails_root/db/schema.rb
|
416
417
|
- test/rails/rails_root/db/seeds.rb
|
417
418
|
- test/rails/rails_root/spec/helpers/helpers_spec.rb
|
419
|
+
- test/rails/rails_root/spec/models/mobile_mailer_spec.rb
|
418
420
|
- test/rails/rails_root/spec/requests/docomo_guid_spec.rb
|
419
421
|
- test/rails/rails_root/spec/requests/docomo_spec.rb
|
420
422
|
- test/rails/rails_root/spec/requests/emobile_spec.rb
|
@@ -455,7 +457,9 @@ files:
|
|
455
457
|
- test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile/filter.rb
|
456
458
|
- test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile/helpers.rb
|
457
459
|
- test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile/hook_action_controller.rb
|
460
|
+
- test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile/hook_action_mailer.rb
|
458
461
|
- test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile/hook_action_view.rb
|
462
|
+
- test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile/mail.rb
|
459
463
|
- test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile/mobile/abstract_mobile.rb
|
460
464
|
- test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile/mobile/android.rb
|
461
465
|
- test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile/mobile/au.rb
|
@@ -604,6 +608,7 @@ test_files:
|
|
604
608
|
- test/rails/rails_root/app/controllers/trans_sid_mobile_controller.rb
|
605
609
|
- test/rails/rails_root/app/controllers/trans_sid_none_controller.rb
|
606
610
|
- test/rails/rails_root/app/helpers/application_helper.rb
|
611
|
+
- test/rails/rails_root/app/models/mobile_mailer.rb
|
607
612
|
- test/rails/rails_root/app/models/user.rb
|
608
613
|
- test/rails/rails_root/autotest/discover.rb
|
609
614
|
- test/rails/rails_root/config/application.rb
|
@@ -624,6 +629,7 @@ test_files:
|
|
624
629
|
- test/rails/rails_root/db/schema.rb
|
625
630
|
- test/rails/rails_root/db/seeds.rb
|
626
631
|
- test/rails/rails_root/spec/helpers/helpers_spec.rb
|
632
|
+
- test/rails/rails_root/spec/models/mobile_mailer_spec.rb
|
627
633
|
- test/rails/rails_root/spec/requests/docomo_guid_spec.rb
|
628
634
|
- test/rails/rails_root/spec/requests/docomo_spec.rb
|
629
635
|
- test/rails/rails_root/spec/requests/emobile_spec.rb
|
@@ -664,7 +670,9 @@ test_files:
|
|
664
670
|
- test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile/filter.rb
|
665
671
|
- test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile/helpers.rb
|
666
672
|
- test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile/hook_action_controller.rb
|
673
|
+
- test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile/hook_action_mailer.rb
|
667
674
|
- test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile/hook_action_view.rb
|
675
|
+
- test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile/mail.rb
|
668
676
|
- test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile/mobile/abstract_mobile.rb
|
669
677
|
- test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile/mobile/android.rb
|
670
678
|
- test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile/mobile/au.rb
|