Skip to content

Commit 55ce950

Browse files
configuration block
1 parent 89a0eed commit 55ce950

3 files changed

Lines changed: 20 additions & 5 deletions

File tree

lib/courrier.rb

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,19 @@
11
require "courrier/version"
22
require "courrier/envelope"
33
require "courrier/email"
4+
require "courrier/configuration"
45

56
module Courrier
6-
# Your code goes here...
7+
class << self
8+
attr_accessor :configuration
9+
10+
def configuration
11+
@configuration ||= Configuration.new
12+
end
13+
14+
def configure
15+
yield configuration
16+
end
17+
18+
end
719
end

lib/courrier/configuration.rb

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
module Courrier
2+
class Configuration
3+
attr_accessor :mailer
4+
end
5+
end

lib/courrier/envelope.rb

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,6 @@ class Envelope
44

55
delegate :recipient, :payload, to: :email
66

7-
class_attribute :mailer
8-
97
def initialize(email_name, attributes = {})
108
@email_name, @attributes = email_name, attributes
119
end
@@ -16,9 +14,9 @@ def deliver
1614

1715
case recipient
1816
when User
19-
mailer.transactional_email_to_user(*args)
17+
Courrier.configuration.mailer.transactional_email_to_user(*args)
2018
else
21-
mailer.transactional_email_to_address(*args)
19+
Courrier.configuration.mailer.transactional_email_to_address(*args)
2220
end
2321
log args.inspect
2422
end

0 commit comments

Comments
 (0)