mailercity 0.0.6 → 0.0.7
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.
- 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
|