mailercity 0.0.6 → 0.0.7
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/mailercity.rb +10 -1
- data/lib/mailercity/version.rb +1 -1
- data/spec/mailercity_spec.rb +12 -1
- metadata +2 -2
data/lib/mailercity.rb
CHANGED
@@ -8,6 +8,7 @@ module Mailercity
|
|
8
8
|
@@api_base = 'https://mailercity.onthecity.org'
|
9
9
|
@@api_key = nil
|
10
10
|
@@perform_deliveries = true
|
11
|
+
@@logger = nil
|
11
12
|
|
12
13
|
def self.api_base=(api_base)
|
13
14
|
@@api_base = api_base
|
@@ -37,6 +38,13 @@ module Mailercity
|
|
37
38
|
@@perform_deliveries
|
38
39
|
end
|
39
40
|
|
41
|
+
def self.logger=(logger)
|
42
|
+
@@logger = logger
|
43
|
+
end
|
44
|
+
|
45
|
+
def self.logger
|
46
|
+
@@logger
|
47
|
+
end
|
40
48
|
|
41
49
|
def self.request(path, args)
|
42
50
|
raise AuthenticationError.new('No API key provided. (HINT: set your API key using "Mailercity.api_key = <API-KEY>".') unless api_key
|
@@ -70,8 +78,9 @@ module Mailercity
|
|
70
78
|
end
|
71
79
|
|
72
80
|
def deliver
|
81
|
+
log = "[#{self.class.name}] Posting to #{Mailercity.api_base}/#{mailer_name}/#{template}: #{params.to_json}"
|
82
|
+
Mailercity.logger.info(log) unless Mailercity.logger.nil?
|
73
83
|
return true if Mailercity.perform_deliveries == false
|
74
|
-
|
75
84
|
response = Mailercity.request("/#{mailer_name}/#{template}", params)
|
76
85
|
response.status == 201
|
77
86
|
end
|
data/lib/mailercity/version.rb
CHANGED
data/spec/mailercity_spec.rb
CHANGED
@@ -17,8 +17,9 @@ describe Mailercity do
|
|
17
17
|
let(:user) { {"id"=>1, "email"=>"rob@robforman.com", "first_name"=>"Rob", "last_name"=>"Forman"} }
|
18
18
|
let(:account) { {"id"=>1, "name"=>"Awesometown"} }
|
19
19
|
|
20
|
-
|
20
|
+
after(:each) do
|
21
21
|
Mailercity.perform_deliveries = true
|
22
|
+
Mailercity.logger = nil
|
22
23
|
end
|
23
24
|
|
24
25
|
it "can create dynamic mailer classes and template methods while passing appropriate parameters" do
|
@@ -52,5 +53,15 @@ describe Mailercity do
|
|
52
53
|
Mailercity::MyTestMailer.my_test_template(user).deliver.should == true
|
53
54
|
end
|
54
55
|
end
|
56
|
+
|
57
|
+
context "with a logger" do
|
58
|
+
it "calls the logger info method" do
|
59
|
+
mailer_path = "/my_test_mailer/my_test_template"
|
60
|
+
stub = stub_post("http://testhost#{mailer_path}", 201, user)
|
61
|
+
Mailercity.logger = stub('logger')
|
62
|
+
Mailercity.logger.should_receive(:info).with("[Mailercity::MyTestMailer] Posting to #{Mailercity.api_base}#{mailer_path}: #{[user].to_json}")
|
63
|
+
Mailercity::MyTestMailer.my_test_template(user).deliver
|
64
|
+
end
|
65
|
+
end
|
55
66
|
end
|
56
67
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mailercity
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.7
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2013-01-03 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: faraday
|