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.
@@ -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
@@ -1,3 +1,3 @@
1
1
  module Mailercity
2
- VERSION = "0.0.6"
2
+ VERSION = "0.0.7"
3
3
  end
@@ -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
- before(:each) do
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.6
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: 2012-12-19 00:00:00.000000000 Z
12
+ date: 2013-01-03 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: faraday