mms2r 3.6.4 → 3.7.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1 @@
1
+ {"totalMediaItems":1,"shareType":"normal","nomediaItem":"false","isOnlyVideo":null,"creationDate":"Apr 16, 2012","from":"(513)545-5510","offset":null,"externalMessageId":"GEc4YYms2Y7KAkmhaoFL","Results":[{"elementID":"2","hasVoiceCaption":false,"URL":{"elementID":"2","indexCount":0,"audio":null,"thumb":"http:\/\/pictures.sprintpcs.com:80\/mmps\/031_36415d1a9c3c73f0_1\/2.jpg?partExt=.jpg&&&outquality=90&ext=.jpg&&size=40,40&squareoutput=255,255,255&aspectcrop=0.5,0.5,1.0,1.0,1.0","annotationVoiceID":null,"image":"http:\/\/pictures.sprintpcs.com:80\/mmps\/031_36415d1a9c3c73f0_1\/2.jpg?partExt=.jpg&&&outquality=90&ext=.jpg","video":null},"description":"Just testing the caption on Sprint","mediaItemNum":0,"isDRMProtected":false,"externalMessageId":"GEc4YYms2Y7KAkmhaoFL","mediaType":"IMAGE","restOperation":"false","folderFullName":"\/RECIPIENT"}],"invite":null,"tmemo":null,"toAddress":"submit@CapStory.com","mediaIndex":0,"subject":"New Message","isDRMProtected":false,"expirationDate":"Expires in 18 days","voiceURL":null,"guest":"true","folderFullName":"\/RECIPIENT"}
@@ -0,0 +1,183 @@
1
+ Return-Path: <sideshow.bob@pm.sprint.com>
2
+ Received: by 10.112.114.196 with SMTP id ji4csp42935lbb; Mon, 16 Apr 2012 13:50:50 -0700
3
+ Received: by 10.68.195.103 with SMTP id id7mr30477156pbc.98.1334609449244; Mon, 16 Apr 2012 13:50:49 -0700
4
+ Received: from smtp04.sun3.lightsurf.net (smtp.sun3.lightsurf.net. [63.215.195.131]) by mx.google.com with ESMTPS id s4si21720545pbc.315.2012.04.16.13.50.48 (version=TLSv1/SSLv3 cipher=OTHER); Mon, 16 Apr 2012 13:50:49 -0700
5
+ Received: from pcs-nams007 (pcs-mmsc.sun3.lightsurf.net [10.0.0.152]) by smtp04.sun3.lightsurf.net (8.12.11.20060308/8.12.11) with ESMTP id q3GKoNxU028344 for <submit@capstory.com>; Mon, 16 Apr 2012 13:50:48 -0700
6
+ Date: Mon, 16 Apr 2012 13:50:48 -0700
7
+ From: "sideshow.bob@pm.sprint.com" <sideshow.bob@pm.sprint.com>
8
+ To: submit@CapStory.com
9
+ Message-ID: <28315302.1330941238231.JavaMail.lsadm@pcs-nams007>
10
+ Subject: New Message
11
+ Mime-Version: 1.0
12
+ Content-Type: multipart/alternative;
13
+ boundary="----=_Part_313708_25410566.1334609448230";
14
+ charset=UTF-8
15
+ Content-Transfer-Encoding: 7bit
16
+ Delivered-To: submit@capstory.com
17
+ Received-SPF: neutral (google.com: 63.215.195.131 is neither permitted nor
18
+ denied by best guess record for domain of sideshow.bob@pm.sprint.com)
19
+ client-ip=63.215.195.131;
20
+ Authentication-Results: mx.google.com; spf=neutral (google.com: 63.215.195.131
21
+ is neither permitted nor denied by best guess record for domain of
22
+ sideshow.bob@pm.sprint.com) smtp.mail=sideshow.bob@pm.sprint.com
23
+ X-Priority: 3
24
+ X-MSMail-Priority: Normal
25
+ Importance: Normal
26
+
27
+
28
+
29
+ ------=_Part_313708_25410566.1334609448230
30
+ Date: Mon, 16 Apr 2012 20:57:48 +0000
31
+ Mime-Version: 1.0
32
+ Content-Type: text/plain;
33
+ charset=us-ascii
34
+ Content-Transfer-Encoding: 7bit
35
+ Content-ID: <4f8c87cc3a7_3bcbcf3a47358c@711c1195-3077-406a-aba4-b6725acc21c4.mail>
36
+
37
+ New Picture Mail from {SENDER_ADDRESS}!
38
+
39
+ Click Go/View to see.
40
+ http://pictures.sprintpcs.com/?mivt=dWQEWQERDWEefwWEf&shareName=MMS
41
+
42
+ _frsthgl
43
+
44
+ ------=_Part_313708_25410566.1334609448230
45
+ Date: Mon, 16 Apr 2012 20:57:48 +0000
46
+ Mime-Version: 1.0
47
+ Content-Type: text/html;
48
+ charset=UTF-8
49
+ Content-Transfer-Encoding: 7bit
50
+ Content-ID: <4f8c87cc1220_3bcbcf3a4736fd@711c1195-3077-406a-aba4-b6725acc21c4.mail>
51
+
52
+ <html>
53
+ <head><title>You have new Picture Mail!</title>
54
+ <!-- lsPictureMail-Share-dWQEWQERDWEefwWEf-comment
55
+ &lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF&#45;8&quot;?&gt;
56
+ &lt;shareMessage&gt;
57
+ &lt;messageContents type=&quot;PICTURE&quot;&gt;
58
+ &lt;messageText&gt;&lt;/messageText&gt;
59
+ &lt;mediaItems&gt;
60
+ &lt;mediaItem id=&quot;1&quot;&gt;
61
+ &lt;title&gt;&lt;/title&gt;
62
+ &amp;lt;url&amp;gt;http://pictures.sprintpcs.com/getMMBOXMessageMedia?id=Xw1004H8sLv6S3x76lVPYolcexVfCdoEvXqTgC1LOkLONz34IC9SMwmk5gW%2FZUWGqyw0fwJJvr5z%0ARdCKg1wQYriT07mKN82PqmTlYRVwDMWGkNKbb8WqPD%2F4a1A61I2rQ26BSr%2Fb84dpnib%2FsZpVJg%3D%3D%0A&amp;lt;/url&amp;gt;
63
+
64
+ &lt;urlExpiration&gt;2012&#45;04&#45;23T20:50:48Z&lt;/urlExpiration&gt;
65
+ &lt;/mediaItem&gt;
66
+ &lt;/mediaItems&gt;
67
+ &lt;/messageContents&gt;
68
+ &lt;/shareMessage&gt;
69
+
70
+ -->
71
+ <!-- lsPictureMail-UserInfo-dWQEWQERDWEefwWEf-comment
72
+ &lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF&#45;8&quot;?&gt;
73
+ &lt;UserInfo timestamp=&quot;2012&#45;04&#45;16T20:50:48.228+00:00&quot; originating_from_address=&quot;sideshow.bob@pm.sprint.com&quot;&gt;&lt;credential name=&quot;MDN&quot;&gt;5135455555&lt;/credential&gt;&lt;/UserInfo&gt;
74
+ -->
75
+ </head>
76
+ <body marginheight="0" marginwidth="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0">
77
+ <table border="0" width="100%" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" >
78
+ <tr>
79
+ <td VALIGN="top" colspan="2" width="100%">
80
+ <div style="border-bottom:1px solid rgb(156, 154, 156); padding:20px 0px 20px 10px"><a href="http://www.sprintpcs.com"><img src="http://pictures.sprintpcs.com/retailers/PCSNEXTEL/ui-refresh/images/logo/sprint-logo-white.jpg" alt="" border="0" /></a></div>
81
+ </td>
82
+ </tr>
83
+ <tr>
84
+ <td VALIGN="top" colspan="2">
85
+ <table border="0" cellpadding="0" cellspacing="0" width="590" bgcolor="#FFFFFF">
86
+ <tr>
87
+ <td><br/><p><img src="http://pictures.sprintpcs.com/images/x.gif" border="0" width="10"/><font face="trebuchet ms, Helvetica, Arial, Verdana" size="2"><b>You have a Picture Mail from sideshow.bob@pm.sprint.com</b></font><br/><br/></p></td>
88
+ </tr>
89
+ </table>
90
+ </td>
91
+ </tr>
92
+ <tr>
93
+ <td colspan="2">
94
+ <table border="0" width="590" cellpadding="0" cellspacing="0">
95
+ <tr>
96
+ <td width="10">&nbsp;</td>
97
+ <td width="280" valign="top">
98
+ <table border="0" cellpadding="0" style="border:1px solid #9C9A9C;">
99
+ <tr>
100
+ <td>
101
+ <table border="0" bgcolor="#ffffff" cellpadding="0" cellspacing="7" style="table-layout:fixed">
102
+ <tr>
103
+ <td align="center">
104
+ <img src="http://pictures.sprintpcs.com//mmps/RECIPIENT/031_36415d1a9c3c73f0_1/2?inviteToken=dWQEWQERDWEefwWEf&amp;limitsize=258,258&amp;outquality=90&amp;squareoutput=255,255,255&amp;ext=.jpg&amp;iconifyVideo=true&amp;wm=1"/>
105
+ </td>
106
+ </tr>
107
+ </table>
108
+ </td>
109
+ </tr>
110
+ </table>
111
+ </td>
112
+ <td width="20">&nbsp;</td>
113
+ <td VALIGN="top" align="right" width="280">
114
+ <table border="0" cellpadding="0" cellspacing="0" width="280" style="table-layout:fixed">
115
+ <tr>
116
+ <td><p><font face="trebuchet ms, Helvetica, Arial, Verdana" size="2"><b>Message:</b></font></p></td>
117
+ </tr>
118
+ <tr>
119
+ <td><pre style="overflow:auto; font:normal 10pt trebuchet ms; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"></pre></td>
120
+ </tr>
121
+ <tr>
122
+ <td><img src="http://pictures.sprintpcs.com/images/x.gif" border="0" height="15"/></td>
123
+ </tr>
124
+ <tr>
125
+ <td width="280">
126
+ <div style="padding:0px; background-color:#fff; font: normal 10pt trebuchet ms" width="280">
127
+ <a target="_blank" style="color: #148AB2;" href="http://pictures.sprintpcs.com/share.do?invite=dWQEWQERDWEefwWEf&amp;shareName=MMS&amp;messageState=RETRIEVED">View Entire Message</a>
128
+ <br/><br/>
129
+ Send and receive Pictures and Videos through Picture Mail<sup>SM</sup>. For more information go to <a target="_blank" style="color: #148AB2;" href="http://www.sprint.com/picturemail">www.sprint.com/picturemail.</a>
130
+ </div>
131
+ </td>
132
+ </tr>
133
+ </table>
134
+ </td>
135
+ </tr>
136
+ </table>
137
+ </td>
138
+ </tr>
139
+ <tr>
140
+ <td>
141
+ <table>
142
+ <tr>
143
+ <td>
144
+ <div style="font: normal 10pt trebuchet ms;margin-top:10px;">Please be aware your friends can forward your picture, video, and album share invitations to others or post the unique Web link to your share invitation on any number of sources (e.g. blogs), through which others could also gain access to your online photos. If you have private or sensitive photos you are sharing, please share them only with those you trust.</div>
145
+ </td>
146
+ </tr>
147
+ </table>
148
+ </td>
149
+ </tr>
150
+ <tr>
151
+ <td colspan="2">
152
+ <img src="http://pictures.sprintpcs.com/images/x.gif" width="5" height="45"/>
153
+ </td>
154
+ </tr>
155
+ <tr>
156
+ <td VALIGN="top" colspan="2" width="590">
157
+ <img src="http://pictures.sprintpcs.com/images/x.gif" height="5"/>
158
+ </td>
159
+ </tr>
160
+ <tr>
161
+ <td VALIGN="top" colspan="2" width="100%">
162
+ <table width="100%" border="0" cellspacing="0" cellpadding="0">
163
+ <tr>
164
+ <td bgcolor="#ffffff" width="100%">
165
+ <div style="border-top:1px solid rgb(156, 154, 156)">&nbsp;</div>
166
+ </td>
167
+ </tr>
168
+ <tr>
169
+ <td>
170
+ <div style="float:right; padding-right:5px"><span style="font-family:trebuchet ms, Helvetica, Arial, Verdana; Font-size: 11px; Color: #000000">&#169; 2012 Sprint. All rights reserved.</span></div>
171
+ </td>
172
+ </tr>
173
+ <tr>
174
+ <td bgcolor="#ffffff" width="100%"><img src="http://pictures.sprintpcs.com/images/x.gif" border="0" height="10"/></td>
175
+ </tr>
176
+ </table>
177
+ </td>
178
+ </tr>
179
+ </table>
180
+ </body>
181
+ </html><!-- legacy_mms_arrived.txt -->
182
+
183
+ ------=_Part_313708_25410566.1334609448230--
data/test/test_helper.rb CHANGED
@@ -1,6 +1,12 @@
1
- # do it like rake http://ozmm.org/posts/do_it_like_rake.html
1
+ if ENV['COVERAGE']
2
+ require 'simplecov'
3
+ SimpleCov.start do
4
+ add_filter 'test'
5
+ end
6
+ end
2
7
 
3
- %W{ test/unit set net/http net/https pp tempfile mocha rcov/rcovtask }.each do |g|
8
+ # do it like rake http://ozmm.org/posts/do_it_like_rake.html
9
+ %W{ test/unit set net/http net/https pp tempfile mocha }.each do |g|
4
10
  begin
5
11
  require g
6
12
  rescue LoadError
@@ -213,7 +213,7 @@ class TestMms2rMedia < Test::Unit::TestCase
213
213
  assert_equal [type, text], mms.transform_text(type, "Ignore this part, " + text)
214
214
 
215
215
  # chaining transforms
216
- mms.expects(:config).at_least_once.returns({'transform' => {type => [[/(hello)/, 'world'],
216
+ mms.expects(:config).at_least_once.returns({'transform' => {type => [[/(hello)/, 'world'],
217
217
  [/(world)/, 'mars']]}})
218
218
  assert_equal [type, 'mars'], mms.transform_text(type, text)
219
219
 
@@ -710,7 +710,7 @@ class TestMms2rMedia < Test::Unit::TestCase
710
710
  mms.process do |type, files|
711
711
  assert_equal 1, files.size
712
712
  assert_equal true, type == 'text/plain' || type == 'text/html'
713
- assert_equal true, File.basename(files.first) == 'message.txt' ||
713
+ assert_equal true, File.basename(files.first) == 'message.txt' ||
714
714
  File.basename(files.first) == 'message.html'
715
715
  assert_equal true, File::exist?(files.first)
716
716
  end
@@ -39,6 +39,54 @@ class TestPmSprintCom < Test::Unit::TestCase
39
39
  ).once.returns(response)
40
40
  end
41
41
 
42
+ def mock_sprint_ajax
43
+ response = mock('response')
44
+ body = mock('body')
45
+ # this is a response from a real sprint message
46
+ file = File.open("./test/fixtures/sprint-ajax-response-success.json", "rb")
47
+ json = file.read
48
+ body.expects(:to_str).returns json
49
+ connection = mock('connection')
50
+ connection.stubs(:use_ssl=).returns(true)
51
+ response.expects(:body).twice.returns(body)
52
+ response.expects(:code).once.returns('200')
53
+ response.expects(:content_type).twice.returns('text/html')
54
+
55
+ Net::HTTP.expects(:new).with('pictures.sprintpcs.com', 80).twice.returns connection
56
+ connection.expects(:get2).with(
57
+ # 1.9.2
58
+ # '//mmps/RECIPIENT/001_2066c7013e7ca833_1/2?inviteToken=PE5rJ5PdYzzwk7V7zoXU&outquality=90&ext=.jpg&iconifyVideo=true&wm=1'
59
+ # 1.8.7
60
+ # '//mmps/RECIPIENT/001_2066c7013e7ca833_1/2?wm=1&ext=.jpg&outquality=90&iconifyVideo=true&inviteToken=PE5rJ5PdYzzwk7V7zoXU'
61
+ kind_of(String),
62
+ { "User-Agent" => MMS2R::Media::USER_AGENT }
63
+ ).twice.returns(response)
64
+ end
65
+
66
+ def mock_sprint_ajax_purged
67
+ response = mock('response')
68
+ body = mock('body')
69
+ # this is a response from a real sprint message
70
+ file = File.open("./test/fixtures/sprint-ajax-response-failure.html", "rb")
71
+ error_html = file.read
72
+ body.expects(:to_str).returns error_html
73
+ connection = mock('connection')
74
+ connection.stubs(:use_ssl=).returns(true)
75
+ response.expects(:body).twice.returns(body)
76
+ response.expects(:code).once.returns('500')
77
+ response.expects(:content_type).once.returns('text/html')
78
+
79
+ Net::HTTP.expects(:new).with('pictures.sprintpcs.com', 80).twice.returns connection
80
+ connection.expects(:get2).with(
81
+ # 1.9.2
82
+ # '//mmps/RECIPIENT/001_2066c7013e7ca833_1/2?inviteToken=PE5rJ5PdYzzwk7V7zoXU&outquality=90&ext=.jpg&iconifyVideo=true&wm=1'
83
+ # 1.8.7
84
+ # '//mmps/RECIPIENT/001_2066c7013e7ca833_1/2?wm=1&ext=.jpg&outquality=90&iconifyVideo=true&inviteToken=PE5rJ5PdYzzwk7V7zoXU'
85
+ kind_of(String),
86
+ { "User-Agent" => MMS2R::Media::USER_AGENT }
87
+ ).twice.returns(response)
88
+ end
89
+
42
90
  def test_mms_should_have_text
43
91
  mail = mail('sprint-text-01.mail')
44
92
  mms = MMS2R::Media.new(mail)
@@ -185,6 +233,35 @@ class TestPmSprintCom < Test::Unit::TestCase
185
233
  mms.purge
186
234
  end
187
235
 
236
+ def test_message_is_missing_in_mail
237
+ # this test is questionable
238
+ mail = mail('sprint-image-missing-message.mail')
239
+ mock_sprint_ajax
240
+ mms = MMS2R::Media.new(mail)
241
+
242
+ assert_equal 1, mms.media['text/plain'].size
243
+
244
+ # test that the message was extracted from the ajax response
245
+ message = IO.readlines(mms.media['text/plain'].first).join("")
246
+ assert_equal "Just testing the caption on Sprint", message
247
+
248
+ mms.purge
249
+ end
250
+
251
+ def test_message_is_missing_in_mail_purged_from_content_server
252
+ # this test is questionable
253
+ mail = mail('sprint-image-missing-message.mail')
254
+ mock_sprint_ajax_purged
255
+ mms = MMS2R::Media.new(mail)
256
+
257
+ assert_equal '5135455555', mms.number
258
+ assert_equal "pm.sprint.com", mms.carrier
259
+
260
+ assert_equal 0, mms.media.size
261
+
262
+ mms.purge
263
+ end
264
+
188
265
  def test_image_should_be_purged_from_content_server
189
266
  mail = mail('sprint-image-01.mail')
190
267
  mock_sprint_purged_image(mail.message_id)
@@ -230,6 +307,7 @@ class TestPmSprintCom < Test::Unit::TestCase
230
307
 
231
308
  def test_new_subject
232
309
  mail = mail('sprint-new-image-01.mail')
310
+ mock_sprint_ajax
233
311
  mms = MMS2R::Media.new(mail)
234
312
  assert_equal '2068675309', mms.number
235
313
  assert_equal "pm.sprint.com", mms.carrier
metadata CHANGED
@@ -1,112 +1,200 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: mms2r
3
- version: !ruby/object:Gem::Version
3
+ version: !ruby/object:Gem::Version
4
+ version: 3.7.0
4
5
  prerelease:
5
- version: 3.6.4
6
6
  platform: ruby
7
- authors:
7
+ authors:
8
8
  - Mike Mondragon
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
-
13
- date: 2012-04-23 00:00:00 Z
14
- dependencies:
15
- - !ruby/object:Gem::Dependency
12
+ date: 2012-05-31 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: rake
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - '='
20
+ - !ruby/object:Gem::Version
21
+ version: 0.9.2.2
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - '='
28
+ - !ruby/object:Gem::Version
29
+ version: 0.9.2.2
30
+ - !ruby/object:Gem::Dependency
16
31
  name: nokogiri
17
- requirement: &id001 !ruby/object:Gem::Requirement
32
+ requirement: !ruby/object:Gem::Requirement
18
33
  none: false
19
- requirements:
20
- - - ">="
21
- - !ruby/object:Gem::Version
22
- version: 1.4.4
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: 1.5.0
23
38
  type: :runtime
24
39
  prerelease: false
25
- version_requirements: *id001
26
- - !ruby/object:Gem::Dependency
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: 1.5.0
46
+ - !ruby/object:Gem::Dependency
27
47
  name: mail
28
- requirement: &id002 !ruby/object:Gem::Requirement
48
+ requirement: !ruby/object:Gem::Requirement
29
49
  none: false
30
- requirements:
31
- - - ">="
32
- - !ruby/object:Gem::Version
33
- version: 2.2.10
50
+ requirements:
51
+ - - ! '>='
52
+ - !ruby/object:Gem::Version
53
+ version: 2.4.0
34
54
  type: :runtime
35
55
  prerelease: false
36
- version_requirements: *id002
37
- - !ruby/object:Gem::Dependency
38
- name: uuidtools
39
- requirement: &id003 !ruby/object:Gem::Requirement
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: 2.4.0
62
+ - !ruby/object:Gem::Dependency
63
+ name: exifr
64
+ requirement: !ruby/object:Gem::Requirement
40
65
  none: false
41
- requirements:
42
- - - ">="
43
- - !ruby/object:Gem::Version
44
- version: 2.1.1
66
+ requirements:
67
+ - - ! '>='
68
+ - !ruby/object:Gem::Version
69
+ version: 1.0.3
45
70
  type: :runtime
46
71
  prerelease: false
47
- version_requirements: *id003
48
- - !ruby/object:Gem::Dependency
49
- name: exifr
50
- requirement: &id004 !ruby/object:Gem::Requirement
72
+ version_requirements: !ruby/object:Gem::Requirement
51
73
  none: false
52
- requirements:
53
- - - ">="
54
- - !ruby/object:Gem::Version
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
55
77
  version: 1.0.3
78
+ - !ruby/object:Gem::Dependency
79
+ name: json
80
+ requirement: !ruby/object:Gem::Requirement
81
+ none: false
82
+ requirements:
83
+ - - ! '>='
84
+ - !ruby/object:Gem::Version
85
+ version: 1.6.0
56
86
  type: :runtime
57
87
  prerelease: false
58
- version_requirements: *id004
59
- - !ruby/object:Gem::Dependency
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ! '>='
92
+ - !ruby/object:Gem::Version
93
+ version: 1.6.0
94
+ - !ruby/object:Gem::Dependency
60
95
  name: rdoc
61
- requirement: &id005 !ruby/object:Gem::Requirement
96
+ requirement: !ruby/object:Gem::Requirement
97
+ none: false
98
+ requirements:
99
+ - - ! '>='
100
+ - !ruby/object:Gem::Version
101
+ version: '0'
102
+ type: :development
103
+ prerelease: false
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
110
+ - !ruby/object:Gem::Dependency
111
+ name: simplecov
112
+ requirement: !ruby/object:Gem::Requirement
113
+ none: false
114
+ requirements:
115
+ - - ! '>='
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
122
+ requirements:
123
+ - - ! '>='
124
+ - !ruby/object:Gem::Version
125
+ version: '0'
126
+ - !ruby/object:Gem::Dependency
127
+ name: test-unit
128
+ requirement: !ruby/object:Gem::Requirement
62
129
  none: false
63
- requirements:
64
- - - ~>
65
- - !ruby/object:Gem::Version
66
- version: "3.10"
130
+ requirements:
131
+ - - ! '>='
132
+ - !ruby/object:Gem::Version
133
+ version: '0'
67
134
  type: :development
68
135
  prerelease: false
69
- version_requirements: *id005
70
- - !ruby/object:Gem::Dependency
71
- name: hoe
72
- requirement: &id006 !ruby/object:Gem::Requirement
136
+ version_requirements: !ruby/object:Gem::Requirement
73
137
  none: false
74
- requirements:
75
- - - ~>
76
- - !ruby/object:Gem::Version
77
- version: "2.12"
138
+ requirements:
139
+ - - ! '>='
140
+ - !ruby/object:Gem::Version
141
+ version: '0'
142
+ - !ruby/object:Gem::Dependency
143
+ name: mocha
144
+ requirement: !ruby/object:Gem::Requirement
145
+ none: false
146
+ requirements:
147
+ - - ! '>='
148
+ - !ruby/object:Gem::Version
149
+ version: '0'
78
150
  type: :development
79
151
  prerelease: false
80
- version_requirements: *id006
81
- description: |-
82
- == DESCRIPTION
83
-
84
- MMS2R by Mike Mondragon
85
- http://mms2r.rubyforge.org/
152
+ version_requirements: !ruby/object:Gem::Requirement
153
+ none: false
154
+ requirements:
155
+ - - ! '>='
156
+ - !ruby/object:Gem::Version
157
+ version: '0'
158
+ description: ! 'MMS2R by Mike Mondragon
159
+
86
160
  https://github.com/monde/mms2r
87
- https://github.com/monde/mms2r/issues
161
+
162
+ https://rubygems.org/gems/mms2r
163
+
88
164
  http://peepcode.com/products/mms2r-pdf
89
-
165
+
166
+
90
167
  MMS2R is a library that decodes the parts of an MMS message to disk while
168
+
91
169
  stripping out advertising injected by the mobile carriers. MMS messages are
170
+
92
171
  multipart email and the carriers often inject branding into these messages. Use
172
+
93
173
  MMS2R if you want to get at the real user generated content from a MMS without
174
+
94
175
  having to deal with the cruft from the carriers.
95
-
176
+
177
+
96
178
  If MMS2R is not aware of a particular carrier no extra processing is done to the
179
+
97
180
  MMS other than decoding and consolidating its media.
98
- email:
181
+
182
+
183
+ MMS2R can be used to process any multipart email to conveniently access the
184
+
185
+ parts the mail is comprised of.
186
+
187
+ '
188
+ email:
99
189
  - mikemondragon@gmail.com
100
190
  executables: []
101
-
102
191
  extensions: []
103
-
104
- extra_rdoc_files:
192
+ extra_rdoc_files:
105
193
  - History.txt
106
194
  - Manifest.txt
107
195
  - README.TMail.txt
108
196
  - README.txt
109
- files:
197
+ files:
110
198
  - .gitignore
111
199
  - Gemfile
112
200
  - Gemfile.lock
@@ -158,6 +246,7 @@ files:
158
246
  - lib/mms2r.rb
159
247
  - lib/mms2r/media.rb
160
248
  - lib/mms2r/media/sprint.rb
249
+ - lib/mms2r/version.rb
161
250
  - mms2r.gemspec
162
251
  - test/fixtures/1nbox-2images-01.mail
163
252
  - test/fixtures/1nbox-2images-02.mail
@@ -219,9 +308,12 @@ files:
219
308
  - test/fixtures/pxt-image-01.mail
220
309
  - test/fixtures/rogers-canada-mms-01.mail
221
310
  - test/fixtures/sasktel-image-01.mail
311
+ - test/fixtures/sprint-ajax-response-failure.html
312
+ - test/fixtures/sprint-ajax-response-success.json
222
313
  - test/fixtures/sprint-blackberry-01.mail
223
314
  - test/fixtures/sprint-broken-image-01.mail
224
315
  - test/fixtures/sprint-image-01.mail
316
+ - test/fixtures/sprint-image-missing-message.mail
225
317
  - test/fixtures/sprint-new-image-01.mail
226
318
  - test/fixtures/sprint-pcs-text-01.mail
227
319
  - test/fixtures/sprint-purged-image-01.mail
@@ -293,73 +385,36 @@ files:
293
385
  - test/test_waw_plspictures_com.rb
294
386
  - vendor/plugins/mms2r/lib/autotest/discover.rb
295
387
  - vendor/plugins/mms2r/lib/autotest/mms2r.rb
296
- - .gemtest
297
388
  homepage: https://github.com/monde/mms2r
298
389
  licenses: []
299
-
300
390
  post_install_message:
301
- rdoc_options:
391
+ rdoc_options:
302
392
  - --main
303
393
  - README.txt
304
- require_paths:
305
- - lib
306
- required_ruby_version: !ruby/object:Gem::Requirement
394
+ require_paths:
395
+ - - lib
396
+ required_ruby_version: !ruby/object:Gem::Requirement
307
397
  none: false
308
- requirements:
309
- - - ">="
310
- - !ruby/object:Gem::Version
311
- hash: -468201796764293522
312
- segments:
398
+ requirements:
399
+ - - ! '>='
400
+ - !ruby/object:Gem::Version
401
+ version: '0'
402
+ segments:
313
403
  - 0
314
- version: "0"
315
- required_rubygems_version: !ruby/object:Gem::Requirement
404
+ hash: -822088507277629508
405
+ required_rubygems_version: !ruby/object:Gem::Requirement
316
406
  none: false
317
- requirements:
318
- - - ">="
319
- - !ruby/object:Gem::Version
320
- version: "0"
407
+ requirements:
408
+ - - ! '>='
409
+ - !ruby/object:Gem::Version
410
+ version: '0'
411
+ segments:
412
+ - 0
413
+ hash: -822088507277629508
321
414
  requirements: []
322
-
323
415
  rubyforge_project: mms2r
324
- rubygems_version: 1.8.10
416
+ rubygems_version: 1.8.24
325
417
  signing_key:
326
418
  specification_version: 3
327
419
  summary: Extract user media from MMS (and not carrier cruft)
328
- test_files:
329
- - test/test_orangemms_net.rb
330
- - test/test_waw_plspictures_com.rb
331
- - test/test_mediamessaging_o2_co_uk.rb
332
- - test/test_vzwpix_com.rb
333
- - test/test_unicel_com.rb
334
- - test/test_messaging_sprintpcs_com.rb
335
- - test/test_mms_luxgsm_lu.rb
336
- - test/test_rci_rogers_com.rb
337
- - test/test_mms_uscc_net.rb
338
- - test/test_mms_netcom_no.rb
339
- - test/test_1nbox_net.rb
340
- - test/test_sms_sasktel_com.rb
341
- - test/test_mms_att_net.rb
342
- - test/test_mobile_indosat_net_id.rb
343
- - test/test_messaging_nextel_com.rb
344
- - test/test_invalid_byte_seq_outlook.rb
345
- - test/test_mms_mtn_co_za.rb
346
- - test/test_mms_vodacom4me_co_za.rb
347
- - test/test_pxt_vodafone_net_nz.rb
348
- - test/test_mms_dobson_net.rb
349
- - test/test_helper.rb
350
- - test/test_msg_telus_com.rb
351
- - test/test_mms_o2online_de.rb
352
- - test/test_mms2r_media.rb
353
- - test/test_bell_canada.rb
354
- - test/test_tmomail_net.rb
355
- - test/test_mms_3ireland_ie.rb
356
- - test/test_pm_sprint_com.rb
357
- - test/test_mms_alltel_com.rb
358
- - test/test_mms_mobileiam_ma.rb
359
- - test/test_mms_mycricket_com.rb
360
- - test/test_bellsouth_net.rb
361
- - test/test_mms_three_co_uk.rb
362
- - test/test_vmpix_com.rb
363
- - test/test_mms_myhelio_com.rb
364
- - test/test_sprint.rb
365
- - test/test_mms_ae.rb
420
+ test_files: []