easy_mail 1.1.0 → 1.2.0

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.
@@ -9,6 +9,7 @@ module EasyMail
9
9
 
10
10
  def initialize(name, attributes = {})
11
11
  @name = name.to_s.split("/").pop
12
+ @template_name = attributes[:template_name] || "template"
12
13
 
13
14
  if Rails.env.production?
14
15
  @to = attributes[:to] || self.class.send_to
@@ -21,7 +22,6 @@ module EasyMail
21
22
  end
22
23
 
23
24
  @subject = attributes[:subject] || self.class.send_subject || "Please Read"
24
- @template_name = attributes[:name]
25
25
  @namespace = if self.class.namespaces.any?
26
26
  (self.class.namespaces.last.name.split("/") + name.to_s.split("/").slice(0..-2)).map(&:classify).join("::")
27
27
  else
@@ -65,7 +65,7 @@ module EasyMail
65
65
 
66
66
 
67
67
  def template_path
68
- ["mail_template", "#{namespace.underscore}"].select(&:present?).join("/")
68
+ ["#{namespace.underscore}", "mail/#{name.tableize}"].select(&:present?).join("/")
69
69
  end
70
70
 
71
71
  def mail_controller
@@ -99,6 +99,8 @@ module EasyMail
99
99
  def generate_controller
100
100
  mailer = self
101
101
  mail_controller.class_eval do
102
+ layout nil
103
+
102
104
  define_method :show do
103
105
  instance_variable_set("@#{mailer.name}", mailer.model_class.new)
104
106
  end
@@ -107,11 +109,16 @@ module EasyMail
107
109
  instance_variable_set("@#{mailer.name}", mailer.model_class.new(params[mailer.form_key]))
108
110
  if instance_variable_get("@#{mailer.name}").valid?
109
111
  mailer.mailer_class.send_mail(instance_variable_get("@#{mailer.name}")).deliver
110
- render "shared/mail/confirmation"
112
+
113
+ redirect_to action: :confirmation
111
114
  else
112
115
  render :show
113
116
  end
114
117
  end
118
+
119
+ define_method :confirmation do
120
+ render "shared/mail/confirmation"
121
+ end
115
122
  end
116
123
  end
117
124
 
@@ -193,6 +200,7 @@ module EasyMail
193
200
  def routes(router)
194
201
  EasyMail::Mailer.all.each do |mailer|
195
202
  router.get mailer.route_url, to: "#{mailer.route_to_controller_part}#show", as: mailer.route_as
203
+ router.get "#{mailer.route_url}/confirmation", to: "#{mailer.route_to_controller_part}#confirmation"
196
204
  router.post mailer.route_url, to: "#{mailer.route_to_controller_part}#create"
197
205
  end
198
206
  end
@@ -1,3 +1,3 @@
1
1
  module EasyMail
2
- VERSION = "1.1.0"
2
+ VERSION = "1.2.0"
3
3
  end
@@ -1,4 +1,9 @@
1
- EasyMail::Mailer.setup(to: "", from: "", bcc: "", subject: "") do
1
+ EasyMail::Mailer.setup(to: "", from: "", bcc: "", subject: "Please Read") do
2
2
  # new :contact
3
- # new "store/contact", to: "test@mail.com", from: "test@mail.com", bcc: "test@mail.com", subject: "Subject"
3
+ # new "store/contact",
4
+ # to: "test@mail.com",
5
+ # from: "test@mail.com",
6
+ # bcc: "test@mail.com",
7
+ # subject: "Subject",
8
+ # template_name: "template"
4
9
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: easy_mail
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.2.0
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: 2013-11-25 00:00:00.000000000 Z
12
+ date: 2013-11-27 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: easy_validator