mta-settings 1.0.0 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. checksums.yaml +5 -5
  2. data/README.markdown +1 -0
  3. data/lib/mta_settings.rb +16 -3
  4. metadata +3 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 077a057f8597de915994a206fdd24f3dfdb94884
4
- data.tar.gz: a5338bac532f193a5803e7564974131f66b1fb2f
2
+ SHA256:
3
+ metadata.gz: 9941d965cb662d17e4ccc6aaba278188fa3dce01586729c02e8ab3a27f3488a9
4
+ data.tar.gz: ecb685af8ac3f93c19a62bf3358d6bf2f278fb52a6f8e212f00c6baf9016c9ac
5
5
  SHA512:
6
- metadata.gz: 6ff91e9730954becfbb21ef0e03eebf8af5cb744756c3affcb817a275f68b378622a72e872cd844b262e0b45447e449a6829eb640893d0aa06c6f5ed8fceff8d
7
- data.tar.gz: ed82a6b4de34bac0e9f1df332d67c3e7e734f388faae0890abe4c69ed1aad623a5f631fc5af108024c71df7534d61e1d3c3edca6ec885a5efc548b5e9fef5f69
6
+ metadata.gz: 392e7d22cf17a91cb3458072000a5bc65e9bb15280c94ef617c70bafd11f11b597759d1fdfac5138fb167167d1aee1c85194463961f2bf77084d45a2bcfe3bc3
7
+ data.tar.gz: deaad6591eaf035ab06ed337f8657d1f9cd3c72a9dcf17fcdc029ff7756f52117c422b40c57b9a5fc605cccbb0f1dc0684756e60fe9e61ad283942dca44787ea
@@ -40,6 +40,7 @@ variables, in order of decreasing precedence:
40
40
  * `MANDRILL_APIKEY`: Mandrill
41
41
  * `POSTMARK_API_TOKEN`: Postmark
42
42
  * `MAILGUN_SMTP_LOGIN`: Mailgun
43
+ * `MAILTRAP_API_TOKEN`: Mailtrap (for development)
43
44
 
44
45
  If no supported environment variable is found, the configuration is left
45
46
  blank. This enables easy defaulting:
@@ -1,5 +1,7 @@
1
1
  require 'uri'
2
2
  require 'cgi'
3
+ require 'net/http'
4
+ require 'json'
3
5
  require 'active_support/core_ext/object/blank'
4
6
  require 'active_support/lazy_load_hooks'
5
7
 
@@ -107,6 +109,17 @@ module MtaSettings
107
109
  :password => env['MAILGUN_SMTP_PASSWORD'],
108
110
  :domain => domain,
109
111
  }]
112
+ elsif env['MAILTRAP_API_TOKEN'].present?
113
+ response = Net::HTTP.get(URI.parse("https://mailtrap.io/api/v1/inboxes.json?api_token=#{env['MAILTRAP_API_TOKEN']}"))
114
+ first_inbox = JSON.parse(response)[0]
115
+ [:smtp, {
116
+ :address => first_inbox['domain'],
117
+ :port => first_inbox['smtp_ports'][0],
118
+ :authentication => :plain,
119
+ :user_name => first_inbox['username'],
120
+ :password => first_inbox['password'],
121
+ :domain => first_inbox['domain']
122
+ }]
110
123
  end
111
124
  end
112
125
 
@@ -139,13 +152,13 @@ module MtaSettings
139
152
  class_attribute(accessor) unless respond_to?(accessor)
140
153
  send(:"#{accessor}=", settings)
141
154
  if settings[:from]
142
- default from: settings[:from]
155
+ default :from => settings[:from]
143
156
  elsif !default.has_key?(:from) &&
144
157
  ![nil, LOCALHOST].include?(settings[:domain])
145
- default from: "noreply@#{settings[:domain]}"
158
+ default :from => "noreply@#{settings[:domain]}"
146
159
  elsif !default.has_key?(:from) &&
147
160
  settings[:user_name] =~ /\A\S+@\S+\.\w+\z/
148
- default from: settings[:user_name]
161
+ default :from => settings[:user_name]
149
162
  end
150
163
  end
151
164
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mta-settings
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tim Pope
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-04-18 00:00:00.000000000 Z
11
+ date: 2018-12-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -106,7 +106,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
106
106
  version: '0'
107
107
  requirements: []
108
108
  rubyforge_project:
109
- rubygems_version: 2.2.2
109
+ rubygems_version: 2.7.3
110
110
  signing_key:
111
111
  specification_version: 4
112
112
  summary: Configure ActionMailer or Mail delivery settings based on the environment