jpmobile 3.0.7 → 3.0.8
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/VERSION.yml +1 -1
- data/lib/jpmobile/mail.rb +35 -3
- data/lib/jpmobile/mobile/au.rb +1 -1
- data/lib/jpmobile/rack/params_filter.rb +4 -2
- data/lib/jpmobile/rails.rb +3 -1
- data/lib/jpmobile/util.rb +10 -0
- data/spec/rack/jpmobile/params_filter_spec.rb +42 -0
- data/spec/unit/email-fixtures/au-kigou.eml +20 -0
- data/spec/unit/receive_mail_spec.rb +19 -6
- data/test/rails/overrides/spec/mailers/mobile_mailer_spec.rb +5 -4
- metadata +40 -75
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 2e2edbcd2cd39d6029839e6bb73f8f9f67d507e8
|
4
|
+
data.tar.gz: 93da4109608ed47dfb1037e897a0d18e631f8d71
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 3cb525f338b7ad6143511c026050380ced4674401fdbe1195720fcfafc2945f15f526a1afde58fa53a446914758b4b42ce1301c97bc53836d31035c9c8db638e
|
7
|
+
data.tar.gz: de43af2fd1c5ac16598cfa89bc768714d0015cca706b6107e572950f71720b964c2abe7c7fadb6456147930293ed3a685fb4343d36022c6b8d2903d6871b9a54
|
data/VERSION.yml
CHANGED
data/lib/jpmobile/mail.rb
CHANGED
@@ -10,7 +10,7 @@ module Mail
|
|
10
10
|
if match
|
11
11
|
encoding = match[1]
|
12
12
|
str = self.decode_base64(match[2])
|
13
|
-
str.force_encoding(fix_encoding(encoding))
|
13
|
+
str.force_encoding(respond_to?(:pick_encoding) ? pick_encoding(encoding) : fix_encoding(encoding))
|
14
14
|
end
|
15
15
|
# if str contains some emoticon, the following line raises Encoding error
|
16
16
|
str.encode("utf-8", :invalid => :replace, :replace => "") rescue Jpmobile::Util.ascii_8bit(str)
|
@@ -91,7 +91,7 @@ module Mail
|
|
91
91
|
end
|
92
92
|
|
93
93
|
def parse_message_with_jpmobile
|
94
|
-
header_part, body_part = raw_source.split(/#{CRLF}#{WSP}*#{CRLF}/m, 2)
|
94
|
+
header_part, body_part = raw_source.lstrip.split(/#{CRLF}#{CRLF}|#{CRLF}#{WSP}*#{CRLF}(?!#{WSP})/m, 2)
|
95
95
|
|
96
96
|
self.header = header_part
|
97
97
|
|
@@ -134,6 +134,11 @@ module Mail
|
|
134
134
|
end
|
135
135
|
end
|
136
136
|
|
137
|
+
# In jpmobile, value is already transfered correctly encodings.
|
138
|
+
def raw_source=(value)
|
139
|
+
@raw_source = value.to_crlf
|
140
|
+
end
|
141
|
+
|
137
142
|
alias_method :encoded_without_jpmobile, :encoded
|
138
143
|
alias_method :encoded, :encoded_with_jpmobile
|
139
144
|
|
@@ -328,6 +333,10 @@ module Mail
|
|
328
333
|
class Body
|
329
334
|
attr_accessor :mobile, :content_type_with_jpmobile
|
330
335
|
|
336
|
+
def raw_source_with_jpmobile
|
337
|
+
raw_source_without_jpmobile.to_crlf
|
338
|
+
end
|
339
|
+
|
331
340
|
# convert encoding
|
332
341
|
def encoded_with_jpmobile(transfer_encoding = '8bit')
|
333
342
|
if @mobile and !multipart?
|
@@ -421,6 +430,9 @@ module Mail
|
|
421
430
|
end
|
422
431
|
end
|
423
432
|
|
433
|
+
alias_method :raw_source_without_jpmobile, :raw_source
|
434
|
+
alias_method :raw_source, :raw_source_with_jpmobile
|
435
|
+
|
424
436
|
alias_method :encoded_without_jpmobile, :encoded
|
425
437
|
alias_method :encoded, :encoded_with_jpmobile
|
426
438
|
|
@@ -539,8 +551,24 @@ module Mail
|
|
539
551
|
encoded_without_jpmobile
|
540
552
|
end
|
541
553
|
|
554
|
+
def get_display_name_with_jpmobile
|
555
|
+
begin
|
556
|
+
get_display_name_without_jpmobile
|
557
|
+
rescue NoMethodError => ex
|
558
|
+
if ex.message.match(/undefined method `gsub' for nil:NilClass/)
|
559
|
+
name = unquote(tree.display_name.text_value.strip.to_s)
|
560
|
+
str = strip_all_comments(name.to_s)
|
561
|
+
else
|
562
|
+
raise ex
|
563
|
+
end
|
564
|
+
end
|
565
|
+
end
|
566
|
+
|
542
567
|
alias_method :encoded_without_jpmobile, :encoded
|
543
568
|
alias_method :encoded, :encoded_with_jpmobile
|
569
|
+
|
570
|
+
alias_method :get_display_name_without_jpmobile, :get_display_name
|
571
|
+
alias_method :get_display_name, :get_display_name_with_jpmobile
|
544
572
|
end
|
545
573
|
|
546
574
|
class ContentTypeElement # :nodoc:
|
@@ -587,7 +615,11 @@ module Mail
|
|
587
615
|
|
588
616
|
class Sendmail
|
589
617
|
def Sendmail.call(path, arguments, destinations, mail)
|
590
|
-
|
618
|
+
if mail.respond_to?(:encoded)
|
619
|
+
encoded_mail = mail.encoded
|
620
|
+
else
|
621
|
+
encoded_mail = mail
|
622
|
+
end
|
591
623
|
if Jpmobile::Util.jis?(encoded_mail)
|
592
624
|
encoded_mail = Jpmobile::Util.ascii_8bit(encoded_mail)
|
593
625
|
end
|
data/lib/jpmobile/mobile/au.rb
CHANGED
@@ -113,7 +113,7 @@ module Jpmobile::Mobile
|
|
113
113
|
if Jpmobile::Util.jis?(str) or Jpmobile::Util.ascii_8bit?(str) or charset == mail_charset
|
114
114
|
# 絵文字を数値参照に変換
|
115
115
|
str = Jpmobile::Emoticon.external_to_unicodecr_au_mail(Jpmobile::Util.jis(str))
|
116
|
-
str = Jpmobile::Util.jis_to_utf8(Jpmobile::Util.
|
116
|
+
str = Jpmobile::Util.jis_to_utf8(Jpmobile::Util.jis_win(str))
|
117
117
|
end
|
118
118
|
str
|
119
119
|
end
|
@@ -12,8 +12,10 @@ module Jpmobile
|
|
12
12
|
if @mobile = env['rack.jpmobile'] and @mobile.apply_params_filter?
|
13
13
|
# パラメータをkey, valueに分解
|
14
14
|
# form_params
|
15
|
-
|
16
|
-
env['
|
15
|
+
unless env['REQUEST_METHOD'] == 'GET' || env['REQUEST_METHOD'] == 'HEAD'
|
16
|
+
unless env['CONTENT_TYPE'] =~ /application\/json|application\/xml/
|
17
|
+
env['rack.input'] = StringIO.new(parse_query(env['rack.input'].read))
|
18
|
+
end
|
17
19
|
end
|
18
20
|
|
19
21
|
# query_params
|
data/lib/jpmobile/rails.rb
CHANGED
@@ -33,7 +33,7 @@ module Jpmobile
|
|
33
33
|
before_filter :register_mobile
|
34
34
|
|
35
35
|
self._view_paths = self._view_paths.dup
|
36
|
-
self.view_paths.unshift(Jpmobile::Resolver.new(
|
36
|
+
self.view_paths.unshift(*self.view_paths.map {|resolver| Jpmobile::Resolver.new(resolver.to_path) })
|
37
37
|
end
|
38
38
|
end
|
39
39
|
|
@@ -47,5 +47,7 @@ module Jpmobile
|
|
47
47
|
def disable_mobile_view!
|
48
48
|
self.lookup_context.mobile = []
|
49
49
|
end
|
50
|
+
|
51
|
+
private :register_mobile, :disable_mobile_view!
|
50
52
|
end
|
51
53
|
end
|
data/lib/jpmobile/util.rb
CHANGED
@@ -1,11 +1,14 @@
|
|
1
1
|
# -*- coding: utf-8 -*-
|
2
2
|
require 'tempfile'
|
3
|
+
require 'nkf'
|
4
|
+
|
3
5
|
module Jpmobile
|
4
6
|
module Util
|
5
7
|
# SJIS = "Shift_JIS"
|
6
8
|
SJIS = "Windows-31J"
|
7
9
|
UTF8 = "UTF-8"
|
8
10
|
JIS = "ISO-2022-JP"
|
11
|
+
JIS_WIN = "CP50220"
|
9
12
|
BINARY = "ASCII-8BIT"
|
10
13
|
|
11
14
|
WAVE_DASH = [0x301c].pack("U")
|
@@ -84,6 +87,13 @@ module Jpmobile
|
|
84
87
|
str
|
85
88
|
end
|
86
89
|
|
90
|
+
def jis_win(str)
|
91
|
+
if str.respond_to?(:force_encoding) and !jis?(str)
|
92
|
+
str.force_encoding(JIS_WIN)
|
93
|
+
end
|
94
|
+
str
|
95
|
+
end
|
96
|
+
|
87
97
|
def ascii_8bit(str)
|
88
98
|
if str.respond_to?(:force_encoding) and !ascii_8bit?(str)
|
89
99
|
str.force_encoding(BINARY)
|
@@ -190,4 +190,46 @@ describe Jpmobile::Rack::ParamsFilter do
|
|
190
190
|
end
|
191
191
|
end
|
192
192
|
end
|
193
|
+
|
194
|
+
context "CONTENT_TYPEに" do
|
195
|
+
context "application/jsonが含まれる場合" do
|
196
|
+
it "inputが変換されないこと" do
|
197
|
+
form_string = '{"index":"1"}'
|
198
|
+
|
199
|
+
res = Rack::MockRequest.env_for(
|
200
|
+
"/",
|
201
|
+
"REQUEST_METHOD" => "POST",
|
202
|
+
"CONTENT_TYPE" => 'application/json',
|
203
|
+
'HTTP_USER_AGENT' => "KDDI-CA32 UP.Browser/6.2.0.7.3.129 (GUI) MMP/2.0",
|
204
|
+
:input => form_string)
|
205
|
+
|
206
|
+
res = Jpmobile::Rack::MobileCarrier.new(Jpmobile::Rack::ParamsFilter.new(UnitApplication.new)).call(res)
|
207
|
+
req = Rack::Request.new(res[1])
|
208
|
+
req.params.size.should == 0
|
209
|
+
|
210
|
+
req.body.read.should == form_string
|
211
|
+
end
|
212
|
+
end
|
213
|
+
end
|
214
|
+
|
215
|
+
context "CONTENT_TYPEに" do
|
216
|
+
context "application/xmlが含まれる場合" do
|
217
|
+
it "inputが変換されないこと" do
|
218
|
+
form_string = '<?xml version="1.0"?><value><string>hoge</string></value>'
|
219
|
+
|
220
|
+
res = Rack::MockRequest.env_for(
|
221
|
+
"/",
|
222
|
+
"REQUEST_METHOD" => "POST",
|
223
|
+
"CONTENT_TYPE" => 'application/xml',
|
224
|
+
'HTTP_USER_AGENT' => "KDDI-CA32 UP.Browser/6.2.0.7.3.129 (GUI) MMP/2.0",
|
225
|
+
:input => form_string)
|
226
|
+
|
227
|
+
res = Jpmobile::Rack::MobileCarrier.new(Jpmobile::Rack::ParamsFilter.new(UnitApplication.new)).call(res)
|
228
|
+
req = Rack::Request.new(res[1])
|
229
|
+
req.params.size.should == 0
|
230
|
+
|
231
|
+
req.body.read.should == form_string
|
232
|
+
end
|
233
|
+
end
|
234
|
+
end
|
193
235
|
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
Return-Path: <ans-earth2@ezweb.ne.jp>
|
2
|
+
X-Original-To: info@bpn.ans-web.co.jp
|
3
|
+
Delivered-To: info@bpn.ans-web.co.jp
|
4
|
+
Received: from ezweb.ne.jp (nx3oBP01-04.ezweb.ne.jp [59.135.39.208])
|
5
|
+
by localhost (Postfix) with ESMTP id B17DF16178D
|
6
|
+
for <info@bpn.ans-web.co.jp>; Fri, 14 Jun 2013 19:15:10 +0900 (JST)
|
7
|
+
Received: from nxev14mp03 (localhost [127.0.0.1])
|
8
|
+
by nxev14mp03.ezweb.ne.jp (EZweb Mail) with SMTP id 8B7B938E940C5
|
9
|
+
for <info@bpn.ans-web.co.jp>; Fri, 14 Jun 2013 19:15:10 +0900 (JST)
|
10
|
+
From: ans-earth2@ezweb.ne.jp
|
11
|
+
To: info@bpn.ans-web.co.jp
|
12
|
+
Subject: test
|
13
|
+
Message-ID: <20130614191510561203000054a5@nxev14mp03.ezweb.ne.jp>
|
14
|
+
Date: Fri, 14 Jun 2013 19:15:10 +0900
|
15
|
+
Mime-Version: 1.0
|
16
|
+
Content-Type: text/plain; charset="iso-2022-jp"
|
17
|
+
Content-Transfer-Encoding: 7bit
|
18
|
+
|
19
|
+
$B!!!"!#!$!%!&!'!)!*!+!,!-!.!/!0!1!2!3!4!5!6!7!8!9!:!;!<!=!>!?!@!A!B!C!D!E!F!G!H!I!J!K!L!M!N!O!P!Q!R!S!T!U!V!W!X!Y!Z![!\!]!^!_!`!a!b!c!d!e!f!g!h!i!j!k!l!m!n!o!p!q!r!s!t!u!v!w!x!y!z!{!|!}!~"!"""#"$"%"&"'"(")"*"+","-".":";"<"=">"?"@"A"J"K"L"M"N"O"P"\"]"^"_"`"a"b"c"d"e"f"g"h"i"j"r"s"t"u"v"w"x"y"~$n$p$q%n%p%q%r%s%t%u%v&!&"&#&$&%&&&'&(&)&*&+&,&-&.&/&0&1&2&3&4&5&6&7&8&A&B&C&D&E&F&G&H&I&J&K&L&M&N&O&P&Q&R&S&T&U&V&W&X'!'"'#'$'%'&'''(')'*'+','-'.'/'0'1'2'3'4'5'6'7'8'9':';'<'='>'?'@'A'Q'R'S'T'U'V'W'X'Y'Z'['\']'^'_'`'a'b'c'd'e'f'g'h'i'j'k'l'm'n'o'p'q(!("(#($(%(&('((()(*(+(,(-(.(/(0(1(2(3(4(5(6(7(8(9(:(;(<(=(>(?(@-!-"-#-$-%-&-'-(-)-*-+-,---.-/-0-1-2-3-4-5-6-7-8-9-:-;-<-=->-@-A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-_-`-a-b-c-d-e-f-g-h-i-j-k-l-m-n-o-p-q-r-s-t-u-v-w-x-y-z-{-|(B
|
20
|
+
|
@@ -21,7 +21,7 @@ describe "Jpmobile::Mail#receive" do
|
|
21
21
|
end
|
22
22
|
|
23
23
|
it "body should be parsed correctly" do
|
24
|
-
@mail.body.to_s.should == "
|
24
|
+
@mail.body.to_s.should == "本文です\n\n"
|
25
25
|
end
|
26
26
|
|
27
27
|
context "to_s" do
|
@@ -59,7 +59,7 @@ describe "Jpmobile::Mail#receive" do
|
|
59
59
|
|
60
60
|
it "body should be parsed correctly" do
|
61
61
|
@mail.body.parts.size.should == 2
|
62
|
-
@mail.body.parts.first.body.to_s.should == "
|
62
|
+
@mail.body.parts.first.body.to_s.should == "本文です\n\n"
|
63
63
|
end
|
64
64
|
|
65
65
|
it "should encode correctly" do
|
@@ -168,7 +168,7 @@ describe "Jpmobile::Mail#receive" do
|
|
168
168
|
end
|
169
169
|
|
170
170
|
it "body should be parsed correctly" do
|
171
|
-
@mail.body.to_s.should == "本文\nFor docomo"
|
171
|
+
@mail.body.to_s.should == "本文\nFor docomo\n\n"
|
172
172
|
end
|
173
173
|
|
174
174
|
context "to_s" do
|
@@ -205,7 +205,7 @@ describe "Jpmobile::Mail#receive" do
|
|
205
205
|
end
|
206
206
|
|
207
207
|
it "body should be parsed correctly" do
|
208
|
-
@mail.body.to_s.should == "本文\nFor au"
|
208
|
+
@mail.body.to_s.should == "本文\nFor au\n\n"
|
209
209
|
end
|
210
210
|
|
211
211
|
context "to_s" do
|
@@ -243,6 +243,12 @@ describe "Jpmobile::Mail#receive" do
|
|
243
243
|
}.should_not raise_error
|
244
244
|
end
|
245
245
|
|
246
|
+
it "should not be raised when parsing incoming email - include kigou" do
|
247
|
+
lambda {
|
248
|
+
@mail = Mail.new(open(File.join(File.expand_path(File.dirname(__FILE__)), "email-fixtures/au-kigou.eml")).read)
|
249
|
+
}.should_not raise_error
|
250
|
+
end
|
251
|
+
|
246
252
|
context 'From au iPhone' do
|
247
253
|
it 'charset should be UTF-8' do
|
248
254
|
@mail = Mail.new(open(File.join(File.expand_path(File.dirname(__FILE__)), "email-fixtures/iphone-message.eml")).read)
|
@@ -268,6 +274,13 @@ describe "Jpmobile::Mail#receive" do
|
|
268
274
|
@mail.encoded
|
269
275
|
end
|
270
276
|
end
|
277
|
+
|
278
|
+
it 'should not raise when parsing attached email' do
|
279
|
+
lambda {
|
280
|
+
@mail = Mail.new(open(File.join(File.expand_path(File.dirname(__FILE__)), "email-fixtures/au-attached.eml")).read)
|
281
|
+
@mail.encoded
|
282
|
+
}.should_not raise_error
|
283
|
+
end
|
271
284
|
end
|
272
285
|
|
273
286
|
describe "Softbank" do
|
@@ -280,7 +293,7 @@ describe "Jpmobile::Mail#receive" do
|
|
280
293
|
end
|
281
294
|
|
282
295
|
it "body should be parsed correctly" do
|
283
|
-
@mail.body.to_s.should == "本文\nFor softbank"
|
296
|
+
@mail.body.to_s.should == "本文\nFor softbank\n\n"
|
284
297
|
end
|
285
298
|
|
286
299
|
context "to_s" do
|
@@ -331,7 +344,7 @@ describe "Jpmobile::Mail#receive" do
|
|
331
344
|
end
|
332
345
|
|
333
346
|
it "body should be parsed correctly" do
|
334
|
-
@mail.body.to_s.should == "
|
347
|
+
@mail.body.to_s.should == "テスト本文\n\n"
|
335
348
|
end
|
336
349
|
end
|
337
350
|
end
|
@@ -474,14 +474,15 @@ describe MobileMailer, " mail address" do
|
|
474
474
|
emails.first.destinations.include?(to).should be_true
|
475
475
|
end
|
476
476
|
|
477
|
-
it "複数のアドレスが有効になること" do
|
478
|
-
|
477
|
+
it "複数のアドレスが有効になること", focus: true do
|
478
|
+
to_addresses = [".ruby.rails.@domomo-ezweb.ne.jp", "ruby.rails.@domomo-ezweb.ne.jp", "ruby...rails@domomo-ezweb.ne.jp"]
|
479
|
+
to = to_addresses.join(", ")
|
479
480
|
MobileMailer.view_selection(to, @subject, @text).deliver
|
480
481
|
|
481
482
|
emails = ActionMailer::Base.deliveries
|
482
483
|
emails.size.should == 1
|
483
|
-
emails.first.to.should ==
|
484
|
-
emails.first.destinations.should ==
|
484
|
+
emails.first.to.should == to_addresses
|
485
|
+
emails.first.destinations.should == to_addresses
|
485
486
|
end
|
486
487
|
end
|
487
488
|
|
metadata
CHANGED
@@ -1,8 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jpmobile
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.0.
|
5
|
-
prerelease:
|
4
|
+
version: 3.0.8
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Yoji Shidara
|
@@ -10,28 +9,25 @@ authors:
|
|
10
9
|
autorequire:
|
11
10
|
bindir: bin
|
12
11
|
cert_chain: []
|
13
|
-
date:
|
12
|
+
date: 2014-02-28 00:00:00.000000000 Z
|
14
13
|
dependencies:
|
15
14
|
- !ruby/object:Gem::Dependency
|
16
15
|
name: jeweler
|
17
16
|
requirement: !ruby/object:Gem::Requirement
|
18
|
-
none: false
|
19
17
|
requirements:
|
20
|
-
- -
|
18
|
+
- - '>='
|
21
19
|
- !ruby/object:Gem::Version
|
22
20
|
version: '0'
|
23
21
|
type: :development
|
24
22
|
prerelease: false
|
25
23
|
version_requirements: !ruby/object:Gem::Requirement
|
26
|
-
none: false
|
27
24
|
requirements:
|
28
|
-
- -
|
25
|
+
- - '>='
|
29
26
|
- !ruby/object:Gem::Version
|
30
27
|
version: '0'
|
31
28
|
- !ruby/object:Gem::Dependency
|
32
29
|
name: rails
|
33
30
|
requirement: !ruby/object:Gem::Requirement
|
34
|
-
none: false
|
35
31
|
requirements:
|
36
32
|
- - ~>
|
37
33
|
- !ruby/object:Gem::Version
|
@@ -39,7 +35,6 @@ dependencies:
|
|
39
35
|
type: :development
|
40
36
|
prerelease: false
|
41
37
|
version_requirements: !ruby/object:Gem::Requirement
|
42
|
-
none: false
|
43
38
|
requirements:
|
44
39
|
- - ~>
|
45
40
|
- !ruby/object:Gem::Version
|
@@ -47,241 +42,211 @@ dependencies:
|
|
47
42
|
- !ruby/object:Gem::Dependency
|
48
43
|
name: rspec
|
49
44
|
requirement: !ruby/object:Gem::Requirement
|
50
|
-
none: false
|
51
45
|
requirements:
|
52
|
-
- -
|
46
|
+
- - '>='
|
53
47
|
- !ruby/object:Gem::Version
|
54
48
|
version: '0'
|
55
49
|
type: :development
|
56
50
|
prerelease: false
|
57
51
|
version_requirements: !ruby/object:Gem::Requirement
|
58
|
-
none: false
|
59
52
|
requirements:
|
60
|
-
- -
|
53
|
+
- - '>='
|
61
54
|
- !ruby/object:Gem::Version
|
62
55
|
version: '0'
|
63
56
|
- !ruby/object:Gem::Dependency
|
64
57
|
name: rspec-rails
|
65
58
|
requirement: !ruby/object:Gem::Requirement
|
66
|
-
none: false
|
67
59
|
requirements:
|
68
|
-
- -
|
60
|
+
- - '>='
|
69
61
|
- !ruby/object:Gem::Version
|
70
62
|
version: '0'
|
71
63
|
type: :development
|
72
64
|
prerelease: false
|
73
65
|
version_requirements: !ruby/object:Gem::Requirement
|
74
|
-
none: false
|
75
66
|
requirements:
|
76
|
-
- -
|
67
|
+
- - '>='
|
77
68
|
- !ruby/object:Gem::Version
|
78
69
|
version: '0'
|
79
70
|
- !ruby/object:Gem::Dependency
|
80
71
|
name: webrat
|
81
72
|
requirement: !ruby/object:Gem::Requirement
|
82
|
-
none: false
|
83
73
|
requirements:
|
84
|
-
- -
|
74
|
+
- - '>='
|
85
75
|
- !ruby/object:Gem::Version
|
86
76
|
version: '0'
|
87
77
|
type: :development
|
88
78
|
prerelease: false
|
89
79
|
version_requirements: !ruby/object:Gem::Requirement
|
90
|
-
none: false
|
91
80
|
requirements:
|
92
|
-
- -
|
81
|
+
- - '>='
|
93
82
|
- !ruby/object:Gem::Version
|
94
83
|
version: '0'
|
95
84
|
- !ruby/object:Gem::Dependency
|
96
85
|
name: geokit
|
97
86
|
requirement: !ruby/object:Gem::Requirement
|
98
|
-
none: false
|
99
87
|
requirements:
|
100
|
-
- -
|
88
|
+
- - '>='
|
101
89
|
- !ruby/object:Gem::Version
|
102
90
|
version: '0'
|
103
91
|
type: :development
|
104
92
|
prerelease: false
|
105
93
|
version_requirements: !ruby/object:Gem::Requirement
|
106
|
-
none: false
|
107
94
|
requirements:
|
108
|
-
- -
|
95
|
+
- - '>='
|
109
96
|
- !ruby/object:Gem::Version
|
110
97
|
version: '0'
|
111
98
|
- !ruby/object:Gem::Dependency
|
112
99
|
name: sqlite3-ruby
|
113
100
|
requirement: !ruby/object:Gem::Requirement
|
114
|
-
none: false
|
115
101
|
requirements:
|
116
|
-
- -
|
102
|
+
- - '>='
|
117
103
|
- !ruby/object:Gem::Version
|
118
104
|
version: '0'
|
119
105
|
type: :development
|
120
106
|
prerelease: false
|
121
107
|
version_requirements: !ruby/object:Gem::Requirement
|
122
|
-
none: false
|
123
108
|
requirements:
|
124
|
-
- -
|
109
|
+
- - '>='
|
125
110
|
- !ruby/object:Gem::Version
|
126
111
|
version: '0'
|
127
112
|
- !ruby/object:Gem::Dependency
|
128
113
|
name: hpricot
|
129
114
|
requirement: !ruby/object:Gem::Requirement
|
130
|
-
none: false
|
131
115
|
requirements:
|
132
|
-
- -
|
116
|
+
- - '>='
|
133
117
|
- !ruby/object:Gem::Version
|
134
118
|
version: '0'
|
135
119
|
type: :development
|
136
120
|
prerelease: false
|
137
121
|
version_requirements: !ruby/object:Gem::Requirement
|
138
|
-
none: false
|
139
122
|
requirements:
|
140
|
-
- -
|
123
|
+
- - '>='
|
141
124
|
- !ruby/object:Gem::Version
|
142
125
|
version: '0'
|
143
126
|
- !ruby/object:Gem::Dependency
|
144
127
|
name: rails
|
145
128
|
requirement: !ruby/object:Gem::Requirement
|
146
|
-
none: false
|
147
129
|
requirements:
|
148
|
-
- -
|
130
|
+
- - '>='
|
149
131
|
- !ruby/object:Gem::Version
|
150
132
|
version: 3.2.0
|
151
133
|
type: :development
|
152
134
|
prerelease: false
|
153
135
|
version_requirements: !ruby/object:Gem::Requirement
|
154
|
-
none: false
|
155
136
|
requirements:
|
156
|
-
- -
|
137
|
+
- - '>='
|
157
138
|
- !ruby/object:Gem::Version
|
158
139
|
version: 3.2.0
|
159
140
|
- !ruby/object:Gem::Dependency
|
160
141
|
name: jeweler
|
161
142
|
requirement: !ruby/object:Gem::Requirement
|
162
|
-
none: false
|
163
143
|
requirements:
|
164
|
-
- -
|
144
|
+
- - '>='
|
165
145
|
- !ruby/object:Gem::Version
|
166
146
|
version: 1.5.1
|
167
147
|
type: :development
|
168
148
|
prerelease: false
|
169
149
|
version_requirements: !ruby/object:Gem::Requirement
|
170
|
-
none: false
|
171
150
|
requirements:
|
172
|
-
- -
|
151
|
+
- - '>='
|
173
152
|
- !ruby/object:Gem::Version
|
174
153
|
version: 1.5.1
|
175
154
|
- !ruby/object:Gem::Dependency
|
176
155
|
name: rspec
|
177
156
|
requirement: !ruby/object:Gem::Requirement
|
178
|
-
none: false
|
179
157
|
requirements:
|
180
|
-
- -
|
158
|
+
- - '>='
|
181
159
|
- !ruby/object:Gem::Version
|
182
160
|
version: 2.6.0
|
183
161
|
type: :development
|
184
162
|
prerelease: false
|
185
163
|
version_requirements: !ruby/object:Gem::Requirement
|
186
|
-
none: false
|
187
164
|
requirements:
|
188
|
-
- -
|
165
|
+
- - '>='
|
189
166
|
- !ruby/object:Gem::Version
|
190
167
|
version: 2.6.0
|
191
168
|
- !ruby/object:Gem::Dependency
|
192
169
|
name: rspec-rails
|
193
170
|
requirement: !ruby/object:Gem::Requirement
|
194
|
-
none: false
|
195
171
|
requirements:
|
196
|
-
- -
|
172
|
+
- - '>='
|
197
173
|
- !ruby/object:Gem::Version
|
198
174
|
version: 2.6.0
|
199
175
|
type: :development
|
200
176
|
prerelease: false
|
201
177
|
version_requirements: !ruby/object:Gem::Requirement
|
202
|
-
none: false
|
203
178
|
requirements:
|
204
|
-
- -
|
179
|
+
- - '>='
|
205
180
|
- !ruby/object:Gem::Version
|
206
181
|
version: 2.6.0
|
207
182
|
- !ruby/object:Gem::Dependency
|
208
183
|
name: webrat
|
209
184
|
requirement: !ruby/object:Gem::Requirement
|
210
|
-
none: false
|
211
185
|
requirements:
|
212
|
-
- -
|
186
|
+
- - '>='
|
213
187
|
- !ruby/object:Gem::Version
|
214
188
|
version: 0.7.2
|
215
189
|
type: :development
|
216
190
|
prerelease: false
|
217
191
|
version_requirements: !ruby/object:Gem::Requirement
|
218
|
-
none: false
|
219
192
|
requirements:
|
220
|
-
- -
|
193
|
+
- - '>='
|
221
194
|
- !ruby/object:Gem::Version
|
222
195
|
version: 0.7.2
|
223
196
|
- !ruby/object:Gem::Dependency
|
224
197
|
name: geokit
|
225
198
|
requirement: !ruby/object:Gem::Requirement
|
226
|
-
none: false
|
227
199
|
requirements:
|
228
|
-
- -
|
200
|
+
- - '>='
|
229
201
|
- !ruby/object:Gem::Version
|
230
202
|
version: 1.5.0
|
231
203
|
type: :development
|
232
204
|
prerelease: false
|
233
205
|
version_requirements: !ruby/object:Gem::Requirement
|
234
|
-
none: false
|
235
206
|
requirements:
|
236
|
-
- -
|
207
|
+
- - '>='
|
237
208
|
- !ruby/object:Gem::Version
|
238
209
|
version: 1.5.0
|
239
210
|
- !ruby/object:Gem::Dependency
|
240
211
|
name: sqlite3-ruby
|
241
212
|
requirement: !ruby/object:Gem::Requirement
|
242
|
-
none: false
|
243
213
|
requirements:
|
244
|
-
- -
|
214
|
+
- - '>='
|
245
215
|
- !ruby/object:Gem::Version
|
246
216
|
version: 1.3.2
|
247
217
|
type: :development
|
248
218
|
prerelease: false
|
249
219
|
version_requirements: !ruby/object:Gem::Requirement
|
250
|
-
none: false
|
251
220
|
requirements:
|
252
|
-
- -
|
221
|
+
- - '>='
|
253
222
|
- !ruby/object:Gem::Version
|
254
223
|
version: 1.3.2
|
255
224
|
- !ruby/object:Gem::Dependency
|
256
225
|
name: hpricot
|
257
226
|
requirement: !ruby/object:Gem::Requirement
|
258
|
-
none: false
|
259
227
|
requirements:
|
260
|
-
- -
|
228
|
+
- - '>='
|
261
229
|
- !ruby/object:Gem::Version
|
262
230
|
version: 0.8.3
|
263
231
|
type: :development
|
264
232
|
prerelease: false
|
265
233
|
version_requirements: !ruby/object:Gem::Requirement
|
266
|
-
none: false
|
267
234
|
requirements:
|
268
|
-
- -
|
235
|
+
- - '>='
|
269
236
|
- !ruby/object:Gem::Version
|
270
237
|
version: 0.8.3
|
271
238
|
- !ruby/object:Gem::Dependency
|
272
239
|
name: git
|
273
240
|
requirement: !ruby/object:Gem::Requirement
|
274
|
-
none: false
|
275
241
|
requirements:
|
276
|
-
- -
|
242
|
+
- - '>='
|
277
243
|
- !ruby/object:Gem::Version
|
278
244
|
version: 1.2.5
|
279
245
|
type: :development
|
280
246
|
prerelease: false
|
281
247
|
version_requirements: !ruby/object:Gem::Requirement
|
282
|
-
none: false
|
283
248
|
requirements:
|
284
|
-
- -
|
249
|
+
- - '>='
|
285
250
|
- !ruby/object:Gem::Version
|
286
251
|
version: 1.2.5
|
287
252
|
description: A Rails plugin for Japanese mobile-phones
|
@@ -380,6 +345,7 @@ files:
|
|
380
345
|
- spec/unit/email-fixtures/au-emoji.eml
|
381
346
|
- spec/unit/email-fixtures/au-emoji2.eml
|
382
347
|
- spec/unit/email-fixtures/au-emoji5.eml
|
348
|
+
- spec/unit/email-fixtures/au-kigou.eml
|
383
349
|
- spec/unit/email-fixtures/bounce_with_utf8_part.eml
|
384
350
|
- spec/unit/email-fixtures/docomo-emoji.eml
|
385
351
|
- spec/unit/email-fixtures/docomo-gmail-sjis.eml
|
@@ -537,26 +503,25 @@ files:
|
|
537
503
|
- tools/list_gps_unsupported_au.rb
|
538
504
|
homepage: http://jpmobile-rails.org
|
539
505
|
licenses: []
|
506
|
+
metadata: {}
|
540
507
|
post_install_message:
|
541
508
|
rdoc_options: []
|
542
509
|
require_paths:
|
543
510
|
- lib
|
544
511
|
required_ruby_version: !ruby/object:Gem::Requirement
|
545
|
-
none: false
|
546
512
|
requirements:
|
547
|
-
- -
|
513
|
+
- - '>='
|
548
514
|
- !ruby/object:Gem::Version
|
549
515
|
version: '0'
|
550
516
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
551
|
-
none: false
|
552
517
|
requirements:
|
553
|
-
- -
|
518
|
+
- - '>='
|
554
519
|
- !ruby/object:Gem::Version
|
555
520
|
version: '0'
|
556
521
|
requirements: []
|
557
522
|
rubyforge_project:
|
558
|
-
rubygems_version:
|
523
|
+
rubygems_version: 2.0.14
|
559
524
|
signing_key:
|
560
|
-
specification_version:
|
525
|
+
specification_version: 4
|
561
526
|
summary: A Rails plugin for Japanese mobile-phones
|
562
527
|
test_files: []
|