mail_spy 0.0.2 → 0.1.1

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.
Files changed (56) hide show
  1. data/README.rdoc +86 -24
  2. data/app/assets/images/mail_spy/background_tile.gif +0 -0
  3. data/app/assets/images/mail_spy/mailspy_sprite.png +0 -0
  4. data/app/assets/images/mail_spy/spy.ico +0 -0
  5. data/app/assets/javascripts/mail_spy/lib/backbone.js +1256 -0
  6. data/app/assets/javascripts/mail_spy/lib/underscore.js +999 -0
  7. data/app/assets/javascripts/mail_spy/reports.js +2 -0
  8. data/app/assets/javascripts/mail_spy/sendgrid.js +2 -0
  9. data/app/assets/stylesheets/mail_spy/application.css +62 -1
  10. data/app/assets/stylesheets/mail_spy/reports.css.scss +128 -0
  11. data/app/assets/stylesheets/mail_spy/sendgrid.css +4 -0
  12. data/app/controllers/mail_spy/reports_controller.rb +29 -0
  13. data/app/controllers/mail_spy/sendgrid_controller.rb +26 -0
  14. data/app/controllers/mail_spy/tracking_controller.rb +19 -11
  15. data/app/helpers/mail_spy/email_helper.rb +21 -3
  16. data/app/helpers/mail_spy/reports_helper.rb +4 -0
  17. data/app/helpers/mail_spy/sendgrid_helper.rb +4 -0
  18. data/app/mailers/mail_spy/core_mailer.rb +15 -18
  19. data/app/models/mail_spy/email.rb +127 -19
  20. data/app/models/mail_spy/process_log.rb +25 -0
  21. data/app/views/layouts/mail_spy/application.html.erb +3 -0
  22. data/app/views/mail_spy/reports/campaigns.html.erb +138 -0
  23. data/config/routes.rb +6 -0
  24. data/lib/generators/mail_spy/templates/mail_spy.rb +25 -1
  25. data/lib/mail_spy/manager.rb +100 -54
  26. data/lib/mail_spy/sendgrid/smtp_api_header.rb +68 -0
  27. data/lib/mail_spy/version.rb +1 -1
  28. data/lib/mail_spy.rb +39 -5
  29. data/test/dummy/app/views/email_templates/helper_test.html.erb +15 -0
  30. data/test/dummy/app/views/email_templates/helper_test.text.erb +11 -0
  31. data/test/dummy/config/environments/development.rb +1 -1
  32. data/test/dummy/config/environments/production.rb +5 -1
  33. data/test/dummy/config/environments/test.rb +4 -1
  34. data/test/dummy/config/initializers/mail_spy.rb +42 -0
  35. data/test/dummy/config/routes.rb +1 -2
  36. data/test/dummy/db/schema.rb +16 -0
  37. data/test/dummy/db/seeds.rb +16 -13
  38. data/test/dummy/lib/tasks/emails.rake +8 -0
  39. data/test/dummy/log/development.log +782 -0
  40. data/test/dummy/log/test.log +9952 -0
  41. data/test/fixtures/mail_spy/process_logs.yml +15 -0
  42. data/test/functional/mail_spy/core_mailer_test.rb +16 -9
  43. data/test/functional/mail_spy/reports_controller_test.rb +9 -0
  44. data/test/functional/mail_spy/sendgrid_controller_test.rb +9 -0
  45. data/test/functional/mail_spy/tracking_controller_test.rb +16 -11
  46. data/test/test_email_credentials.yml +2 -2
  47. data/test/test_email_credentials.yml.sample +0 -8
  48. data/test/test_helper.rb +15 -41
  49. data/test/unit/helpers/mail_spy/reports_helper_test.rb +6 -0
  50. data/test/unit/helpers/mail_spy/sendgrid_helper_test.rb +6 -0
  51. data/test/unit/mail_spy/manager_test.rb +101 -122
  52. data/test/unit/mail_spy/{email_template_test.rb → process_log_test.rb} +1 -1
  53. metadata +122 -34
  54. data/app/models/mail_spy/email_template.rb +0 -17
  55. data/test/fixtures/mail_spy/email_templates.yml +0 -9
  56. /data/lib/generators/mail_spy/{initialize_generator.rb → initializer_generator.rb} +0 -0
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: mail_spy
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.0.2
5
+ version: 0.1.1
6
6
  platform: ruby
7
7
  authors:
8
8
  - Timothy Cardenas
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2012-01-30 00:00:00 Z
13
+ date: 2012-02-09 00:00:00 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rails
@@ -24,148 +24,203 @@ dependencies:
24
24
  type: :runtime
25
25
  version_requirements: *id001
26
26
  - !ruby/object:Gem::Dependency
27
- name: mongoid
27
+ name: sass
28
28
  prerelease: false
29
29
  requirement: &id002 !ruby/object:Gem::Requirement
30
+ none: false
31
+ requirements:
32
+ - - ">="
33
+ - !ruby/object:Gem::Version
34
+ version: "0"
35
+ type: :runtime
36
+ version_requirements: *id002
37
+ - !ruby/object:Gem::Dependency
38
+ name: mongoid
39
+ prerelease: false
40
+ requirement: &id003 !ruby/object:Gem::Requirement
30
41
  none: false
31
42
  requirements:
32
43
  - - ~>
33
44
  - !ruby/object:Gem::Version
34
45
  version: 2.4.3
35
46
  type: :runtime
36
- version_requirements: *id002
47
+ version_requirements: *id003
37
48
  - !ruby/object:Gem::Dependency
38
49
  name: bson_ext
39
50
  prerelease: false
40
- requirement: &id003 !ruby/object:Gem::Requirement
51
+ requirement: &id004 !ruby/object:Gem::Requirement
41
52
  none: false
42
53
  requirements:
43
54
  - - ~>
44
55
  - !ruby/object:Gem::Version
45
56
  version: "1.5"
46
57
  type: :runtime
47
- version_requirements: *id003
58
+ version_requirements: *id004
48
59
  - !ruby/object:Gem::Dependency
49
60
  name: actionmailer
50
61
  prerelease: false
51
- requirement: &id004 !ruby/object:Gem::Requirement
62
+ requirement: &id005 !ruby/object:Gem::Requirement
52
63
  none: false
53
64
  requirements:
54
65
  - - ">="
55
66
  - !ruby/object:Gem::Version
56
67
  version: "3.2"
57
68
  type: :runtime
58
- version_requirements: *id004
69
+ version_requirements: *id005
70
+ - !ruby/object:Gem::Dependency
71
+ name: aws-sdk
72
+ prerelease: false
73
+ requirement: &id006 !ruby/object:Gem::Requirement
74
+ none: false
75
+ requirements:
76
+ - - ">="
77
+ - !ruby/object:Gem::Version
78
+ version: 1.3.2
79
+ type: :runtime
80
+ version_requirements: *id006
81
+ - !ruby/object:Gem::Dependency
82
+ name: zurb-foundation
83
+ prerelease: false
84
+ requirement: &id007 !ruby/object:Gem::Requirement
85
+ none: false
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: "0"
90
+ type: :runtime
91
+ version_requirements: *id007
92
+ - !ruby/object:Gem::Dependency
93
+ name: work_queue
94
+ prerelease: false
95
+ requirement: &id008 !ruby/object:Gem::Requirement
96
+ none: false
97
+ requirements:
98
+ - - ">="
99
+ - !ruby/object:Gem::Version
100
+ version: "0"
101
+ type: :runtime
102
+ version_requirements: *id008
103
+ - !ruby/object:Gem::Dependency
104
+ name: jquery-rails
105
+ prerelease: false
106
+ requirement: &id009 !ruby/object:Gem::Requirement
107
+ none: false
108
+ requirements:
109
+ - - ">="
110
+ - !ruby/object:Gem::Version
111
+ version: "0"
112
+ type: :runtime
113
+ version_requirements: *id009
59
114
  - !ruby/object:Gem::Dependency
60
115
  name: sqlite3
61
116
  prerelease: false
62
- requirement: &id005 !ruby/object:Gem::Requirement
117
+ requirement: &id010 !ruby/object:Gem::Requirement
63
118
  none: false
64
119
  requirements:
65
120
  - - ">="
66
121
  - !ruby/object:Gem::Version
67
122
  version: "0"
68
123
  type: :development
69
- version_requirements: *id005
124
+ version_requirements: *id010
70
125
  - !ruby/object:Gem::Dependency
71
126
  name: turn
72
127
  prerelease: false
73
- requirement: &id006 !ruby/object:Gem::Requirement
128
+ requirement: &id011 !ruby/object:Gem::Requirement
74
129
  none: false
75
130
  requirements:
76
131
  - - ">="
77
132
  - !ruby/object:Gem::Version
78
133
  version: "0"
79
134
  type: :development
80
- version_requirements: *id006
135
+ version_requirements: *id011
81
136
  - !ruby/object:Gem::Dependency
82
137
  name: rr
83
138
  prerelease: false
84
- requirement: &id007 !ruby/object:Gem::Requirement
139
+ requirement: &id012 !ruby/object:Gem::Requirement
85
140
  none: false
86
141
  requirements:
87
142
  - - ">="
88
143
  - !ruby/object:Gem::Version
89
144
  version: "0"
90
145
  type: :development
91
- version_requirements: *id007
146
+ version_requirements: *id012
92
147
  - !ruby/object:Gem::Dependency
93
148
  name: factory_girl
94
149
  prerelease: false
95
- requirement: &id008 !ruby/object:Gem::Requirement
150
+ requirement: &id013 !ruby/object:Gem::Requirement
96
151
  none: false
97
152
  requirements:
98
153
  - - ">="
99
154
  - !ruby/object:Gem::Version
100
155
  version: "0"
101
156
  type: :development
102
- version_requirements: *id008
157
+ version_requirements: *id013
103
158
  - !ruby/object:Gem::Dependency
104
159
  name: factory_girl_rails
105
160
  prerelease: false
106
- requirement: &id009 !ruby/object:Gem::Requirement
161
+ requirement: &id014 !ruby/object:Gem::Requirement
107
162
  none: false
108
163
  requirements:
109
164
  - - ">="
110
165
  - !ruby/object:Gem::Version
111
166
  version: "0"
112
167
  type: :development
113
- version_requirements: *id009
168
+ version_requirements: *id014
114
169
  - !ruby/object:Gem::Dependency
115
170
  name: spork
116
171
  prerelease: false
117
- requirement: &id010 !ruby/object:Gem::Requirement
172
+ requirement: &id015 !ruby/object:Gem::Requirement
118
173
  none: false
119
174
  requirements:
120
175
  - - ">"
121
176
  - !ruby/object:Gem::Version
122
177
  version: 0.9.0.rc
123
178
  type: :development
124
- version_requirements: *id010
179
+ version_requirements: *id015
125
180
  - !ruby/object:Gem::Dependency
126
181
  name: spork-testunit
127
182
  prerelease: false
128
- requirement: &id011 !ruby/object:Gem::Requirement
183
+ requirement: &id016 !ruby/object:Gem::Requirement
129
184
  none: false
130
185
  requirements:
131
186
  - - ">="
132
187
  - !ruby/object:Gem::Version
133
188
  version: "0"
134
189
  type: :development
135
- version_requirements: *id011
190
+ version_requirements: *id016
136
191
  - !ruby/object:Gem::Dependency
137
192
  name: ruby-prof
138
193
  prerelease: false
139
- requirement: &id012 !ruby/object:Gem::Requirement
194
+ requirement: &id017 !ruby/object:Gem::Requirement
140
195
  none: false
141
196
  requirements:
142
197
  - - ">="
143
198
  - !ruby/object:Gem::Version
144
199
  version: "0"
145
200
  type: :development
146
- version_requirements: *id012
201
+ version_requirements: *id017
147
202
  - !ruby/object:Gem::Dependency
148
203
  name: minitest
149
204
  prerelease: false
150
- requirement: &id013 !ruby/object:Gem::Requirement
205
+ requirement: &id018 !ruby/object:Gem::Requirement
151
206
  none: false
152
207
  requirements:
153
208
  - - ">="
154
209
  - !ruby/object:Gem::Version
155
210
  version: "0"
156
211
  type: :development
157
- version_requirements: *id013
212
+ version_requirements: *id018
158
213
  - !ruby/object:Gem::Dependency
159
214
  name: timecop
160
215
  prerelease: false
161
- requirement: &id014 !ruby/object:Gem::Requirement
216
+ requirement: &id019 !ruby/object:Gem::Requirement
162
217
  none: false
163
218
  requirements:
164
219
  - - ">="
165
220
  - !ruby/object:Gem::Version
166
221
  version: "0"
167
222
  type: :development
168
- version_requirements: *id014
223
+ version_requirements: *id019
169
224
  description: Mailspy allows for quick and easy creation, sending and tracking of email campaigns
170
225
  email:
171
226
  - trcarden@gmail.com
@@ -176,27 +231,42 @@ extensions: []
176
231
  extra_rdoc_files: []
177
232
 
178
233
  files:
234
+ - app/assets/images/mail_spy/background_tile.gif
235
+ - app/assets/images/mail_spy/mailspy_sprite.png
236
+ - app/assets/images/mail_spy/spy.ico
179
237
  - app/assets/javascripts/mail_spy/application.js
238
+ - app/assets/javascripts/mail_spy/lib/backbone.js
239
+ - app/assets/javascripts/mail_spy/lib/underscore.js
240
+ - app/assets/javascripts/mail_spy/reports.js
241
+ - app/assets/javascripts/mail_spy/sendgrid.js
180
242
  - app/assets/javascripts/mail_spy/tracking.js
181
243
  - app/assets/stylesheets/mail_spy/application.css
244
+ - app/assets/stylesheets/mail_spy/reports.css.scss
245
+ - app/assets/stylesheets/mail_spy/sendgrid.css
182
246
  - app/assets/stylesheets/mail_spy/tracking.css
183
247
  - app/controllers/mail_spy/application_controller.rb
248
+ - app/controllers/mail_spy/reports_controller.rb
249
+ - app/controllers/mail_spy/sendgrid_controller.rb
184
250
  - app/controllers/mail_spy/tracking_controller.rb
185
251
  - app/helpers/mail_spy/application_helper.rb
186
252
  - app/helpers/mail_spy/email_helper.rb
253
+ - app/helpers/mail_spy/reports_helper.rb
254
+ - app/helpers/mail_spy/sendgrid_helper.rb
187
255
  - app/mailers/mail_spy/core_mailer.rb
188
256
  - app/models/mail_spy/action.rb
189
257
  - app/models/mail_spy/campaign_report.rb
190
258
  - app/models/mail_spy/component_report.rb
191
259
  - app/models/mail_spy/email.rb
192
- - app/models/mail_spy/email_template.rb
260
+ - app/models/mail_spy/process_log.rb
193
261
  - app/models/mail_spy/stream_report.rb
194
262
  - app/views/layouts/mail_spy/application.html.erb
263
+ - app/views/mail_spy/reports/campaigns.html.erb
195
264
  - config/routes.rb
196
- - lib/generators/mail_spy/initialize_generator.rb
265
+ - lib/generators/mail_spy/initializer_generator.rb
197
266
  - lib/generators/mail_spy/templates/mail_spy.rb
198
267
  - lib/mail_spy/engine.rb
199
268
  - lib/mail_spy/manager.rb
269
+ - lib/mail_spy/sendgrid/smtp_api_header.rb
200
270
  - lib/mail_spy/version.rb
201
271
  - lib/mail_spy.rb
202
272
  - lib/tasks/mail_spy_tasks.rake
@@ -207,6 +277,8 @@ files:
207
277
  - test/dummy/app/assets/stylesheets/application.css
208
278
  - test/dummy/app/controllers/application_controller.rb
209
279
  - test/dummy/app/helpers/application_helper.rb
280
+ - test/dummy/app/views/email_templates/helper_test.html.erb
281
+ - test/dummy/app/views/email_templates/helper_test.text.erb
210
282
  - test/dummy/app/views/layouts/application.html.erb
211
283
  - test/dummy/config/application.rb
212
284
  - test/dummy/config/boot.rb
@@ -217,6 +289,7 @@ files:
217
289
  - test/dummy/config/environments/test.rb
218
290
  - test/dummy/config/initializers/backtrace_silencers.rb
219
291
  - test/dummy/config/initializers/inflections.rb
292
+ - test/dummy/config/initializers/mail_spy.rb
220
293
  - test/dummy/config/initializers/mime_types.rb
221
294
  - test/dummy/config/initializers/secret_token.rb
222
295
  - test/dummy/config/initializers/session_store.rb
@@ -226,8 +299,10 @@ files:
226
299
  - test/dummy/config/routes.rb
227
300
  - test/dummy/config.ru
228
301
  - test/dummy/db/development.sqlite3
302
+ - test/dummy/db/schema.rb
229
303
  - test/dummy/db/seeds.rb
230
304
  - test/dummy/db/test.sqlite3
305
+ - test/dummy/lib/tasks/emails.rake
231
306
  - test/dummy/log/development.log
232
307
  - test/dummy/log/test.log
233
308
  - test/dummy/public/404.html
@@ -240,23 +315,27 @@ files:
240
315
  - test/fixtures/mail_spy/actions.yml
241
316
  - test/fixtures/mail_spy/campaign_reports.yml
242
317
  - test/fixtures/mail_spy/component_reports.yml
243
- - test/fixtures/mail_spy/email_templates.yml
244
318
  - test/fixtures/mail_spy/emails.yml
319
+ - test/fixtures/mail_spy/process_logs.yml
245
320
  - test/fixtures/mail_spy/stream_reports.yml
246
321
  - test/functional/mail_spy/core_mailer_test.rb
322
+ - test/functional/mail_spy/reports_controller_test.rb
323
+ - test/functional/mail_spy/sendgrid_controller_test.rb
247
324
  - test/functional/mail_spy/tracking_controller_test.rb
248
325
  - test/integration/navigation_test.rb
249
326
  - test/mail_spy_test.rb
250
327
  - test/test_email_credentials.yml
251
328
  - test/test_email_credentials.yml.sample
252
329
  - test/test_helper.rb
330
+ - test/unit/helpers/mail_spy/reports_helper_test.rb
331
+ - test/unit/helpers/mail_spy/sendgrid_helper_test.rb
253
332
  - test/unit/helpers/mail_spy/tracking_helper_test.rb
254
333
  - test/unit/mail_spy/action_test.rb
255
334
  - test/unit/mail_spy/campaign_report_test.rb
256
335
  - test/unit/mail_spy/component_report_test.rb
257
- - test/unit/mail_spy/email_template_test.rb
258
336
  - test/unit/mail_spy/email_test.rb
259
337
  - test/unit/mail_spy/manager_test.rb
338
+ - test/unit/mail_spy/process_log_test.rb
260
339
  - test/unit/mail_spy/stream_report_test.rb
261
340
  homepage: http://timcardenas.com
262
341
  licenses: []
@@ -290,6 +369,8 @@ test_files:
290
369
  - test/dummy/app/assets/stylesheets/application.css
291
370
  - test/dummy/app/controllers/application_controller.rb
292
371
  - test/dummy/app/helpers/application_helper.rb
372
+ - test/dummy/app/views/email_templates/helper_test.html.erb
373
+ - test/dummy/app/views/email_templates/helper_test.text.erb
293
374
  - test/dummy/app/views/layouts/application.html.erb
294
375
  - test/dummy/config/application.rb
295
376
  - test/dummy/config/boot.rb
@@ -300,6 +381,7 @@ test_files:
300
381
  - test/dummy/config/environments/test.rb
301
382
  - test/dummy/config/initializers/backtrace_silencers.rb
302
383
  - test/dummy/config/initializers/inflections.rb
384
+ - test/dummy/config/initializers/mail_spy.rb
303
385
  - test/dummy/config/initializers/mime_types.rb
304
386
  - test/dummy/config/initializers/secret_token.rb
305
387
  - test/dummy/config/initializers/session_store.rb
@@ -309,8 +391,10 @@ test_files:
309
391
  - test/dummy/config/routes.rb
310
392
  - test/dummy/config.ru
311
393
  - test/dummy/db/development.sqlite3
394
+ - test/dummy/db/schema.rb
312
395
  - test/dummy/db/seeds.rb
313
396
  - test/dummy/db/test.sqlite3
397
+ - test/dummy/lib/tasks/emails.rake
314
398
  - test/dummy/log/development.log
315
399
  - test/dummy/log/test.log
316
400
  - test/dummy/public/404.html
@@ -323,21 +407,25 @@ test_files:
323
407
  - test/fixtures/mail_spy/actions.yml
324
408
  - test/fixtures/mail_spy/campaign_reports.yml
325
409
  - test/fixtures/mail_spy/component_reports.yml
326
- - test/fixtures/mail_spy/email_templates.yml
327
410
  - test/fixtures/mail_spy/emails.yml
411
+ - test/fixtures/mail_spy/process_logs.yml
328
412
  - test/fixtures/mail_spy/stream_reports.yml
329
413
  - test/functional/mail_spy/core_mailer_test.rb
414
+ - test/functional/mail_spy/reports_controller_test.rb
415
+ - test/functional/mail_spy/sendgrid_controller_test.rb
330
416
  - test/functional/mail_spy/tracking_controller_test.rb
331
417
  - test/integration/navigation_test.rb
332
418
  - test/mail_spy_test.rb
333
419
  - test/test_email_credentials.yml
334
420
  - test/test_email_credentials.yml.sample
335
421
  - test/test_helper.rb
422
+ - test/unit/helpers/mail_spy/reports_helper_test.rb
423
+ - test/unit/helpers/mail_spy/sendgrid_helper_test.rb
336
424
  - test/unit/helpers/mail_spy/tracking_helper_test.rb
337
425
  - test/unit/mail_spy/action_test.rb
338
426
  - test/unit/mail_spy/campaign_report_test.rb
339
427
  - test/unit/mail_spy/component_report_test.rb
340
- - test/unit/mail_spy/email_template_test.rb
341
428
  - test/unit/mail_spy/email_test.rb
342
429
  - test/unit/mail_spy/manager_test.rb
430
+ - test/unit/mail_spy/process_log_test.rb
343
431
  - test/unit/mail_spy/stream_report_test.rb
@@ -1,17 +0,0 @@
1
- module MailSpy
2
- class EmailTemplate
3
- include Mongoid::Document
4
- include Mongoid::Timestamps
5
- field :name, :type => String
6
- field :html_erb, :type => String
7
- field :text_erb, :type => String
8
- field :template_values_definition, :type => Hash
9
-
10
- index :name, :unique => true
11
-
12
- has_many :emails, :class_name => 'MailSpy::Email'
13
-
14
- validates_presence_of :name
15
-
16
- end
17
- end
@@ -1,9 +0,0 @@
1
- # Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/Fixtures.html
2
-
3
- one:
4
- html_erb: MyText
5
- options:
6
-
7
- two:
8
- html_erb: MyText
9
- options: