jpmobile 3.0.7 → 3.0.8
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.
- 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: []
|