mandriller 0.0.1 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 774c2fa8ff2956266ac2b7a42411dddeb979ad16
4
- data.tar.gz: 583f26ca46dd4c2dc6fe8c0f705b32b71ecdc488
3
+ metadata.gz: 0bd96554dfe341939a2ceeece84b87063baffbbe
4
+ data.tar.gz: 46cc7feb2cb4b33d25cc330efe10eaf66286995c
5
5
  SHA512:
6
- metadata.gz: 2c4073662c7f0c1d5bd98540603de84fd8340dd4af860ed79be72cd510fe7f96fa1fc4a3c7bd9d070c34b90a4854a1bc1fd9bcfcb79d4923248a697960c562f1
7
- data.tar.gz: 4b140218ed3d09dd4758f91654076459cb96fd274658948304bb1a750db9a79a3fac9386813849dd6657ecbfe4d9a3675ee3cf8ac483336791fe818e5099e840
6
+ metadata.gz: 9aa5682fef78ec085c4609425d1dfa3244db78e45dddb23857d57b3a2e2c5c72c29735b081b6bafe60684763f480e6fc1c024f444e61f4ca8e757c921cdd18a0
7
+ data.tar.gz: 3ace4e02923f937852c4ac0c07618f280d7b70f99cc5a3e08987210a970779951cc170e5e66ee2ba5802d078cc29a6761225b44d7f7a6fb71dd0a6e156fdb341
@@ -0,0 +1,33 @@
1
+ *.gem
2
+ *.rbc
3
+ /.config
4
+ /coverage/
5
+ /InstalledFiles
6
+ /pkg/
7
+ /spec/reports/
8
+ /test/tmp/
9
+ /test/version_tmp/
10
+ /tmp/
11
+ /log/
12
+
13
+ ## Specific to RubyMotion:
14
+ .dat*
15
+ .repl_history
16
+ build/
17
+
18
+ ## Documentation cache and generated files:
19
+ /.yardoc/
20
+ /_yardoc/
21
+ /doc/
22
+ /rdoc/
23
+
24
+ ## Environment normalisation:
25
+ /.bundle/
26
+ /lib/bundler/man/
27
+
28
+ ## Misc
29
+ Gemfile.lock
30
+ gemfiles/*.lock
31
+ .ruby-version
32
+ .ruby-gemset
33
+ .rvmrc
@@ -0,0 +1,19 @@
1
+ language: ruby
2
+
3
+ rvm:
4
+ - 1.9.3
5
+ - 2.0.0
6
+ - 2.1.0
7
+ gemfile:
8
+ - gemfiles/gemfile
9
+ - gemfiles/actionmailer.3.0.x.gemfile
10
+ - gemfiles/actionmailer.3.1.x.gemfile
11
+ - gemfiles/actionmailer.3.2.x.gemfile
12
+ - gemfiles/actionmailer.4.0.x.gemfile
13
+ - gemfiles/actionmailer.4.1.x.gemfile
14
+
15
+ script: "bundle exec rake spec"
16
+
17
+ branches:
18
+ only:
19
+ - master
data/README.md CHANGED
@@ -1,8 +1,9 @@
1
1
  # mandriller
2
2
 
3
- [![Gem Version](https://badge.fury.io/rb/mandriller.svg)](http://badge.fury.io/rb/mandriller) [![Build Status](https://secure.travis-ci.org/dtaniwaki/mandriller.png)](http://travis-ci.org/dtaniwaki/mandriller) [![Coverage Status](https://coveralls.io/repos/dtaniwaki/mandriller/badge.png)](https://coveralls.io/r/dtaniwaki/mandriller)
3
+ [![Gem Version](https://badge.fury.io/rb/mandriller.svg)](http://badge.fury.io/rb/mandriller) [![Build Status](https://secure.travis-ci.org/dtaniwaki/mandriller.png)](http://travis-ci.org/dtaniwaki/mandriller) [![Coverage Status](https://coveralls.io/repos/dtaniwaki/mandriller/badge.png)](https://coveralls.io/r/dtaniwaki/mandriller) [![Code Climate](https://codeclimate.com/github/dtaniwaki/mandriller.png)](https://codeclimate.com/github/dtaniwaki/mandriller)
4
4
 
5
- Mandriller SMTP API integration for ActionMailer.
5
+ [Mandrill](http://mandrill.com/) SMTP API integration for ActionMailer.
6
+ See detail of the protocol on [the official page](http://help.mandrill.com/entries/21688056-Using-SMTP-Headers-to-customize-your-messages).
6
7
 
7
8
  ## Installation
8
9
 
@@ -16,18 +17,170 @@ And run `bundle install`.
16
17
 
17
18
  ## Usage
18
19
 
20
+ e.g.
21
+
19
22
  ```ruby
20
23
  class UserMailer < Mandriller::Base
21
- set_google_analytics_campaign
22
24
  set_open_track
25
+ set_click_track
23
26
 
24
27
  def test_mail
25
- set_click_track
28
+ set_google_analytics_campaign "#{mailer_name.gsub(/_mailer$/, '')}/#{action_name.gsub(/_email$/, '')}"
26
29
  mail from: 'from@example.com', to: 'to@example.com'
27
30
  end
28
31
  end
29
32
  ```
30
33
 
34
+ You can set the options globally and locally. Locally set option overwrites the one globally set. Just add any settings necessary for your mailers from the list below.
35
+
36
+ ## Settings
37
+
38
+ ### set_open_track
39
+
40
+ Enable open-tracking for the message.
41
+
42
+ `set_open_track` or `set_open_track true`: Enable
43
+ `set_open_track false`: Disable
44
+
45
+ ### set_click_track
46
+
47
+ Enable click-tracking for the message.
48
+
49
+ `set_click_track 'clicks_all'`: enables click tracking on all emails
50
+ `set_click_track 'clicks_htmlonly'`: enables click tracking only on html emails
51
+ `set_click_track 'clicks_textonly'`: enables click tracking only on text emails
52
+
53
+ ### set_auto_text
54
+
55
+ Automatically generate a plain-text version of the email from the HTML content.
56
+
57
+ `set_auto_text` or `set_auto_text true`: Enable
58
+ `set_auto_text false`: Disable
59
+
60
+ ### set_auto_html
61
+
62
+ Automatically generate an HTML version of the email from the plain-text content.
63
+
64
+ `set_auto_html` or `set_auto_html true`: Enable
65
+ `set_auto_html false`: Disable
66
+
67
+ ### set_template
68
+
69
+ Use an HTML template stored in your Mandrill account
70
+
71
+ `set_auto_html 'template_name'` or `set_auto_html 'template_name', 'block_name'`:
72
+
73
+ `template_name`
74
+ the name of the stored template.
75
+
76
+ `block_name`
77
+ the name of the mc:edit region where the body of the SMTP generated message will be placed. Optional and defaults to "main".
78
+
79
+ ### set_merge_vars
80
+
81
+ Add dynamic data to replace mergetags that appear in your message content.
82
+
83
+ `set_merge_vars {foo: 1, bar: 2}`
84
+
85
+ ### set_google_analytics
86
+
87
+ Add Google Analytics tracking to links in your email for the specified domains.
88
+
89
+ `set_google_analytics 'foo.com', 'bar.com'`
90
+
91
+ ### set_google_analytics_campaign
92
+
93
+ Add an optional value to be used for the __utm_campaign parameter__ in Google Analytics tracked links.
94
+
95
+ `set_google_analytics 'campaign_name'`
96
+
97
+ ### set_metadata
98
+
99
+ Information about any custom fields or data you want to append to the message.
100
+
101
+ `set_metadata {foo: 1, bar: 2}`
102
+
103
+ ### set_url_strip_qs
104
+
105
+ Whether to strip querystrings from links for reporting.
106
+
107
+ `set_url_strip_qs` or `set_url_strip_qs true`: Enable
108
+ `set_url_strip_qs false`: Disable
109
+
110
+ ### set_preserve_recipients
111
+
112
+ Whether to show recipients of the email other recipients, such as those in the "cc" field.
113
+
114
+ `set_preserve_recipients` or `set_preserve_recipients true`: Enable
115
+ `set_preserve_recipients false`: Disable
116
+
117
+ ### set_inline_css
118
+
119
+ Whether to inline the CSS for the HTML version of the email (only for HTML documents less than 256KB).
120
+
121
+ `set_inline_css` or `set_inline_css true`: Enable
122
+ `set_inline_css false`: Disable
123
+
124
+ ### set_tracking_domain
125
+
126
+ Set a [custom domain to use for tracking opens and clicks](http://help.mandrill.com/entries/23353682-Can-I-customize-the-domain-used-for-open-and-click-tracking-) instead of mandrillapp.com.
127
+
128
+ `set_tracking_domain` or `set_tracking_domain true`: Enable
129
+ `set_tracking_domain false`: Disable
130
+
131
+ ### set_signing_domain
132
+
133
+ Set a [custom domain to use for SPF/DKIM signing](http://help.mandrill.com/entries/23374656-Can-I-send-emails-on-behalf-of-my-clients-) instead of mandrill (for "via" or "on behalf of" in email clients).
134
+
135
+ `set_signing_domain` or `set_signing_domain true`: Enable
136
+ `set_signing_domain false`: Disable
137
+
138
+ ### set_subaccount
139
+
140
+ Select a [subaccount](http://help.mandrill.com/entries/25523278-What-are-subaccounts-) for sending the mail.
141
+
142
+ `set_subaccount 'subaccount_id'`
143
+
144
+ ### set_view_content_link
145
+
146
+ Control whether the View Content link appears for emails sent for your account.
147
+
148
+ `set_view_content_link` or `set_view_content_link true`: Enable
149
+ `set_view_content_link false`: Disable
150
+
151
+ ### set_bcc_address
152
+
153
+ An optional address that will receive an exact copy of the message, including all tracking data
154
+
155
+ `set_bcc_address 'email_address'`
156
+
157
+ ### set_important
158
+
159
+ Whether this message is [important](http://help.mandrill.com/entries/23664027-Does-Mandrill-allow-me-to-prioritize-messages-) and should be delivered ahead of non-important messages
160
+
161
+ `set_important` or `set_important true`: Enable
162
+ `set_important false`: Disable
163
+
164
+ ### set_ip_pool
165
+
166
+ Specify a [dedicated IP pool](http://help.mandrill.com/entries/24182062-Can-I-choose-which-dedicated-IP-pool-my-Mandrill-emails-send-from-) for the message.
167
+
168
+ `set_ip_pool 'dedicated_ip_pool'`
169
+
170
+ ### set_retun_path_domain
171
+
172
+ Specify a [custom domain](http://help.mandrill.com/entries/25241243-Can-I-customize-the-Return-Path-bounce-address-used-for-my-emails-) to use for the message's return-path
173
+
174
+ `set_return_path_domain 'example.com'`
175
+
176
+ ### set_send_at
177
+
178
+ Specify a future date/time that the message should be [scheduled](http://help.mandrill.com/entries/24331201-Can-I-schedule-a-message-to-send-at-a-specific-time-) for delivery
179
+
180
+ `set_send_at 5.days.from_now`
181
+
182
+ __Only available for paid accounts__
183
+
31
184
  ## Contributing
32
185
 
33
186
  1. Fork it
@@ -1,4 +1,5 @@
1
1
  require 'action_mailer'
2
+ require 'multi_json'
2
3
  require_relative 'settings_methods'
3
4
 
4
5
  class Mandriller::Base < ActionMailer::Base
@@ -30,7 +31,7 @@ class Mandriller::Base < ActionMailer::Base
30
31
  define_settings_methods STRING_SETTINGS.keys
31
32
  define_settings_methods JSON_SETTINGS.keys
32
33
  define_settings_methods :open_track, default: true
33
- define_settings_methods :click_track, default: 'clicks'
34
+ define_settings_methods :click_track, default: 'clicks_all'
34
35
  define_settings_methods :send_at
35
36
 
36
37
  class_attribute :mandrill_template, :mandrill_google_analytics
@@ -50,60 +51,44 @@ class Mandriller::Base < ActionMailer::Base
50
51
  end
51
52
 
52
53
  def set_google_analytics(*domains)
53
- @mandrill_google_analytics = domains.flatten
54
+ domains = domains.flatten.compact
55
+ @mandrill_google_analytics = domains
54
56
  end
55
57
 
56
58
  def mail(*args)
57
- m = super(*args)
58
-
59
- tracks = []
60
- tracks << ((@mandrill_open_track.nil? ? self.mandrill_open_track : @mandrill_open_track) ? 'opens' : nil)
61
- tracks << (@mandrill_click_track.nil? ? self.mandrill_click_track : @mandrill_click_track)
62
- tracks = tracks.compact.map(&:to_s)
59
+ tracks = [get_mandrill_setting("open_track") ? 'opens' : nil, get_mandrill_setting("click_track")].compact.map(&:to_s)
63
60
  unless tracks.empty?
64
61
  tracks.each do |track|
65
- validate_values!(track, %w(opens clicks_all clicks clicks_htmlonly clicks_textonly))
62
+ validate_values!(track, %w(opens clicks_all clicks_htmlonly clicks_textonly))
66
63
  end
64
+ self.headers['X-MC-Track'] = tracks.join(',')
67
65
  end
68
- self.headers['X-MC-Track'] = tracks.join(',')
69
66
 
70
67
  v = get_mandrill_setting("template")
71
- unless v.nil?
72
- self.headers['X-MC-Template'] = v.join('|')
73
- end
68
+ self.headers['X-MC-Template'] = v.join('|') unless v.nil? || v.empty?
74
69
 
75
70
  v = get_mandrill_setting("google_analytics")
76
- unless v.nil?
77
- self.headers['X-MC-GoogleAnalytics'] = v.join(',')
78
- end
71
+ self.headers['X-MC-GoogleAnalytics'] = v.join(',') unless v.nil? || v.empty?
79
72
 
80
- dt = @mandrill_send_at.nil? ? self.mandrill_send_at : @mandrill_send_at
81
- unless dt.nil?
82
- self.headers['X-MC-SendAt'] = dt.utc.strftime('%Y-%m-%d %H:%M:%S')
83
- end
73
+ v = get_mandrill_setting("send_at")
74
+ self.headers['X-MC-SendAt'] = v.to_time.utc.strftime('%Y-%m-%d %H:%M:%S') unless v.nil?
84
75
 
85
76
  BOOLEAN_SETTINGS.each do |key, header_name|
86
77
  v = get_mandrill_setting(key)
87
- unless v.nil?
88
- self.headers[header_name] = v ? 'true' : 'false'
89
- end
78
+ self.headers[header_name] = v ? 'true' : 'false' unless v.nil?
90
79
  end
91
80
 
92
81
  STRING_SETTINGS.each do |key, header_name|
93
82
  v = get_mandrill_setting(key)
94
- unless v.nil?
95
- self.headers[header_name] = v.to_s
96
- end
83
+ self.headers[header_name] = v.to_s unless v.nil?
97
84
  end
98
85
 
99
86
  JSON_SETTINGS.each do |key, header_name|
100
87
  v = get_mandrill_setting(key)
101
- unless v.nil?
102
- self.headers[header_name] = v.to_json
103
- end
88
+ self.headers[header_name] = MultiJson.dump(v) unless v.nil?
104
89
  end
105
90
 
106
- m
91
+ super(*args)
107
92
  end
108
93
 
109
94
  private
@@ -1,3 +1,3 @@
1
1
  module Mandriller
2
- VERSION = '0.0.1'
2
+ VERSION = '0.0.3'
3
3
  end
@@ -17,6 +17,7 @@ Gem::Specification.new do |gem|
17
17
  gem.require_paths = ['lib']
18
18
 
19
19
  gem.add_dependency "actionmailer", ">= 3.0"
20
+ gem.add_dependency "multi_json"
20
21
 
21
22
  gem.add_development_dependency "rake"
22
23
  gem.add_development_dependency "rspec", ">= 3.0"
@@ -6,7 +6,7 @@ describe Mandriller::Base do
6
6
  let(:klass) do
7
7
  gs = global_settings
8
8
  ls = local_settings
9
- Class.new(Mandriller::Base) do
9
+ klass = Class.new(Mandriller::Base) do
10
10
  self.mailer_name = 'foo_mailer'
11
11
  instance_exec(&gs)
12
12
  define_method :foo do
@@ -14,6 +14,8 @@ describe Mandriller::Base do
14
14
  mail from: 'from@example.com', to: ['to@example.com']
15
15
  end
16
16
  end
17
+ allow_any_instance_of(ActionMailer::Base).to receive(:each_template).and_return('')
18
+ klass
17
19
  end
18
20
  subject { klass.foo }
19
21
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mandriller
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daisuke Taniwaki
@@ -24,6 +24,20 @@ dependencies:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '3.0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: multi_json
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: rake
29
43
  requirement: !ruby/object:Gem::Requirement
@@ -73,14 +87,12 @@ executables: []
73
87
  extensions: []
74
88
  extra_rdoc_files: []
75
89
  files:
90
+ - ".gitignore"
91
+ - ".travis.yml"
76
92
  - Gemfile
77
- - Gemfile.lock
78
93
  - LICENSE
79
94
  - README.md
80
95
  - Rakefile
81
- - aaa
82
- - coverage/.last_run.json
83
- - coverage/.resultset.json
84
96
  - gemfiles/actionmailer.3.0.x.gemfile
85
97
  - gemfiles/actionmailer.3.1.x.gemfile
86
98
  - gemfiles/actionmailer.3.2.x.gemfile
@@ -1,88 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- mandriller (0.0.1)
5
- actionmailer (>= 3.0)
6
-
7
- GEM
8
- remote: https://rubygems.org/
9
- specs:
10
- abstract (1.0.0)
11
- actionmailer (3.0.1)
12
- actionpack (= 3.0.1)
13
- mail (~> 2.2.5)
14
- actionpack (3.0.1)
15
- activemodel (= 3.0.1)
16
- activesupport (= 3.0.1)
17
- builder (~> 2.1.2)
18
- erubis (~> 2.6.6)
19
- i18n (~> 0.4.1)
20
- rack (~> 1.2.1)
21
- rack-mount (~> 0.6.12)
22
- rack-test (~> 0.5.4)
23
- tzinfo (~> 0.3.23)
24
- activemodel (3.0.1)
25
- activesupport (= 3.0.1)
26
- builder (~> 2.1.2)
27
- i18n (~> 0.4.1)
28
- activesupport (3.0.1)
29
- builder (2.1.2)
30
- coveralls (0.7.0)
31
- multi_json (~> 1.3)
32
- rest-client
33
- simplecov (>= 0.7)
34
- term-ansicolor
35
- thor
36
- diff-lcs (1.2.5)
37
- docile (1.1.5)
38
- erubis (2.6.6)
39
- abstract (>= 1.0.0)
40
- i18n (0.4.2)
41
- mail (2.2.7)
42
- activesupport (>= 2.3.6)
43
- mime-types
44
- treetop (>= 1.4.5)
45
- mime-types (2.3)
46
- multi_json (1.10.1)
47
- polyglot (0.3.5)
48
- rack (1.2.8)
49
- rack-mount (0.6.14)
50
- rack (>= 1.0.0)
51
- rack-test (0.5.7)
52
- rack (>= 1.0)
53
- rake (10.3.2)
54
- rest-client (1.6.7)
55
- mime-types (>= 1.16)
56
- rspec (3.0.0)
57
- rspec-core (~> 3.0.0)
58
- rspec-expectations (~> 3.0.0)
59
- rspec-mocks (~> 3.0.0)
60
- rspec-core (3.0.2)
61
- rspec-support (~> 3.0.0)
62
- rspec-expectations (3.0.2)
63
- diff-lcs (>= 1.2.0, < 2.0)
64
- rspec-support (~> 3.0.0)
65
- rspec-mocks (3.0.2)
66
- rspec-support (~> 3.0.0)
67
- rspec-support (3.0.2)
68
- simplecov (0.8.2)
69
- docile (~> 1.1.0)
70
- multi_json
71
- simplecov-html (~> 0.8.0)
72
- simplecov-html (0.8.0)
73
- term-ansicolor (1.3.0)
74
- tins (~> 1.0)
75
- thor (0.19.1)
76
- tins (1.3.0)
77
- treetop (1.5.3)
78
- polyglot (~> 0.3)
79
- tzinfo (0.3.39)
80
-
81
- PLATFORMS
82
- ruby
83
-
84
- DEPENDENCIES
85
- coveralls
86
- mandriller!
87
- rake
88
- rspec (>= 3.0)
data/aaa DELETED
File without changes
@@ -1,5 +0,0 @@
1
- {
2
- "result": {
3
- "covered_percent": 100.0
4
- }
5
- }
@@ -1,277 +0,0 @@
1
- {
2
- "RSpec": {
3
- "coverage": {
4
- "/Users/dtaniwaki/github/mandriller/lib/mandriller.rb": [
5
- 1,
6
- 1,
7
- 1,
8
- null,
9
- 1,
10
- null
11
- ],
12
- "/Users/dtaniwaki/github/mandriller/lib/mandriller/errors.rb": [
13
- 1,
14
- 1,
15
- 1,
16
- null
17
- ],
18
- "/Users/dtaniwaki/github/mandriller/lib/mandriller/base.rb": [
19
- 1,
20
- 1,
21
- null,
22
- 1,
23
- 1,
24
- null,
25
- 1,
26
- null,
27
- null,
28
- null,
29
- null,
30
- null,
31
- null,
32
- null,
33
- null,
34
- null,
35
- 1,
36
- null,
37
- null,
38
- null,
39
- null,
40
- null,
41
- null,
42
- null,
43
- 1,
44
- null,
45
- null,
46
- null,
47
- 1,
48
- 1,
49
- 1,
50
- 1,
51
- 1,
52
- 1,
53
- null,
54
- 1,
55
- null,
56
- 1,
57
- 1,
58
- 3,
59
- null,
60
- null,
61
- 1,
62
- 3,
63
- null,
64
- null,
65
- null,
66
- 1,
67
- 3,
68
- null,
69
- null,
70
- 1,
71
- 3,
72
- null,
73
- null,
74
- 1,
75
- 134,
76
- null,
77
- 134,
78
- 134,
79
- 134,
80
- 134,
81
- 134,
82
- 6,
83
- 7,
84
- null,
85
- null,
86
- 133,
87
- null,
88
- 133,
89
- 133,
90
- 4,
91
- null,
92
- null,
93
- 133,
94
- 133,
95
- 4,
96
- null,
97
- null,
98
- 133,
99
- 133,
100
- 3,
101
- null,
102
- null,
103
- 133,
104
- 1064,
105
- 1064,
106
- 56,
107
- null,
108
- null,
109
- null,
110
- 133,
111
- 798,
112
- 798,
113
- 18,
114
- null,
115
- null,
116
- null,
117
- 133,
118
- 266,
119
- 266,
120
- 6,
121
- null,
122
- null,
123
- null,
124
- 133,
125
- null,
126
- null,
127
- 1,
128
- null,
129
- 1,
130
- 7,
131
- null,
132
- null
133
- ],
134
- "/Users/dtaniwaki/github/mandriller/lib/mandriller/settings_methods.rb": [
135
- 1,
136
- 1,
137
- 1,
138
- 9,
139
- null,
140
- null,
141
- 1,
142
- 1,
143
- 14,
144
- 14,
145
- 5,
146
- null,
147
- 9,
148
- null,
149
- null,
150
- 14,
151
- 27,
152
- null,
153
- null,
154
- null,
155
- null,
156
- null,
157
- null,
158
- null,
159
- null,
160
- null,
161
- null,
162
- null,
163
- null,
164
- null,
165
- null,
166
- 1,
167
- 2397,
168
- null,
169
- 1,
170
- null,
171
- null
172
- ],
173
- "/Users/dtaniwaki/github/mandriller/spec/support/action_mailer.rb": [
174
- 1,
175
- 94,
176
- 94,
177
- 94,
178
- 188,
179
- 94,
180
- 94,
181
- null,
182
- null,
183
- 1,
184
- 39,
185
- 39,
186
- 39,
187
- 78,
188
- 39,
189
- 39,
190
- null,
191
- null,
192
- 1,
193
- 1,
194
- 1,
195
- 1,
196
- 1,
197
- null,
198
- 2,
199
- null,
200
- null
201
- ],
202
- "/Users/dtaniwaki/github/mandriller/spec/mandriller/settings_methods_spec.rb": [
203
- 1,
204
- null,
205
- 1,
206
- 1,
207
- 8,
208
- 8,
209
- null,
210
- null,
211
- 1,
212
- 6,
213
- 6,
214
- null,
215
- 6,
216
- null,
217
- null,
218
- 1,
219
- 1,
220
- 1,
221
- 1,
222
- null,
223
- 1,
224
- 1,
225
- null,
226
- 1,
227
- 1,
228
- 1,
229
- 1,
230
- null,
231
- 1,
232
- 1,
233
- 1,
234
- null,
235
- null,
236
- 1,
237
- 1,
238
- 2,
239
- 2,
240
- null,
241
- 2,
242
- null,
243
- 1,
244
- 1,
245
- 1,
246
- 1,
247
- null,
248
- 1,
249
- 1,
250
- 1,
251
- null,
252
- null,
253
- null,
254
- 1,
255
- 1,
256
- 1,
257
- 1,
258
- 1,
259
- null,
260
- 1,
261
- 1,
262
- 1,
263
- 1,
264
- null,
265
- 1,
266
- 1,
267
- 1,
268
- 1,
269
- 1,
270
- null,
271
- null,
272
- null
273
- ]
274
- },
275
- "timestamp": 1403939267
276
- }
277
- }