mail_engine 0.1.8 → 0.1.9

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/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.8
1
+ 0.1.9
@@ -1,14 +1,16 @@
1
1
  class MailEngine::ApplicationController < ApplicationController
2
+ include MailEngine
3
+ helper MailEngine::MailEngineHelper
4
+
2
5
  layout 'mail_engine/mail_engine'
3
6
 
4
- # set the access check method.
7
+ # set the access check method which set in the config.
5
8
  if MailEngine::Base.current_config["access_check_method"].present?
6
9
  before_filter MailEngine::Base.current_config["access_check_method"]
7
10
  end
8
11
 
9
- include MailEngine
10
- helper MailEngine::MailEngineHelper
11
-
12
+ ###
13
+ # return js o close fancy box and refresh page.
12
14
  def close_modal_and_refresh
13
15
  render :text => "<script>parent.$.fancybox.close();parent.window.location.reload();</script>"
14
16
  end
@@ -2,6 +2,7 @@ class MailEngine::DashboardController < MailEngine::ApplicationController
2
2
  def index
3
3
  @pie_chart_columns = ["bounces", "unique_opens", "spamreports", "blocks", "unopened"]
4
4
  @data_of_today = MailEngine::Sendgrid::RestApi.stats
5
+ # unopened data needs you calculate by yourself.
5
6
  @data_of_today.merge!("unopened" => (@data_of_today["delivered"].to_i - @data_of_today["unique_opens"].to_i))
6
7
  end
7
8
  end
@@ -14,6 +14,7 @@ class MailEngine::MailLogsController < MailEngine::ApplicationController
14
14
  end
15
15
 
16
16
  private
17
+
17
18
  def find_model
18
19
  @mail_log = MailLog.find(params[:id]) if params[:id].present?
19
20
  end
@@ -8,6 +8,9 @@ class MailEngine::MailSchedulesController < MailEngine::ApplicationController
8
8
  def show
9
9
  end
10
10
 
11
+ def edit
12
+ end
13
+
11
14
  def destroy
12
15
  @mail_schedule.destroy
13
16
  redirect_to mail_schedules_path
@@ -39,9 +42,6 @@ class MailEngine::MailSchedulesController < MailEngine::ApplicationController
39
42
  end
40
43
  end
41
44
 
42
- def edit
43
- end
44
-
45
45
  def send_test_mail
46
46
  @mail_schedule.send_test_mail_to!(params[:recipient], params[:sample_user_id])
47
47
  render :text => %Q{alert("Test Mail sent to #{params[:recipient]}"); $('#recipient').val('');}
@@ -5,6 +5,12 @@ class MailEngine::MailTemplateFilesController < MailEngine::ApplicationControlle
5
5
  def index
6
6
  end
7
7
 
8
+ def edit
9
+ end
10
+
11
+ def show
12
+ end
13
+
8
14
  def new
9
15
  @mail_template_file = @mail_template.mail_template_files.new
10
16
  end
@@ -18,9 +24,6 @@ class MailEngine::MailTemplateFilesController < MailEngine::ApplicationControlle
18
24
  end
19
25
  end
20
26
 
21
- def edit
22
- end
23
-
24
27
  def update
25
28
  if @mail_template_file.update_attributes(params[:mail_engine_mail_template_file])
26
29
  close_modal_and_refresh
@@ -34,9 +37,6 @@ class MailEngine::MailTemplateFilesController < MailEngine::ApplicationControlle
34
37
  render :text => "window.location.reload()"
35
38
  end
36
39
 
37
- def show
38
- end
39
-
40
40
  private
41
41
 
42
42
  def find_model
@@ -17,9 +17,6 @@ class MailEngine::MailTemplatesController < MailEngine::ApplicationController
17
17
  @mail_templates = @mail_templates.group("path").page(params[:page]).per(20)
18
18
  end
19
19
 
20
- def show
21
- end
22
-
23
20
  def preview
24
21
  @mail_template = MailEngine::MailTemplate.new if @mail_template.blank?
25
22
  @mail_template.body = params[:new_body] if params[:new_body]
@@ -129,6 +126,9 @@ class MailEngine::MailTemplatesController < MailEngine::ApplicationController
129
126
  end
130
127
  end
131
128
 
129
+ def show
130
+ end
131
+
132
132
  def edit
133
133
  end
134
134
 
@@ -144,14 +144,8 @@ class MailEngine::MailTemplatesController < MailEngine::ApplicationController
144
144
  render :import
145
145
  end
146
146
 
147
- # def send_test_mail
148
- # @mail_template.send_test_mail_to!(params[:recipient])
149
- # render :text => "alert('Test Mail sent to #{params[:recipient]}'); $('#recipient').val('');"
150
- # rescue => e
151
- # render :text => "alert(\"Test Mail failed to send to #{params[:recipient]}, due to #{e.to_s}\"); $('#recipient').val('');"
152
- # end
153
-
154
147
  private
148
+
155
149
  def find_model
156
150
  @mail_template = MailTemplate.find(params[:id]) if params[:id].present?
157
151
  end
@@ -17,7 +17,6 @@ class MailEngine::ReportsController < MailEngine::ApplicationController
17
17
  "unsubscribes",
18
18
  "repeat_unsubscribes"
19
19
  ]
20
-
21
20
  @stats_data = if params[:report] and params[:report][:from] and params[:report][:to]
22
21
  MailEngine::Sendgrid::RestApi.stats(:start_date => params[:report][:from], :end_date => params[:report][:to])
23
22
  else
@@ -26,5 +26,6 @@ module MailEngine
26
26
  "Mail Template"
27
27
  end
28
28
  end
29
+
29
30
  end
30
31
  end
@@ -1,8 +1,7 @@
1
1
  class MailEngine::MailDispatcher < ActionMailer::Base
2
- default :from => "info@itjob.fm"
2
+ default :from => MailEngine::Base.current_config["default_from"]
3
3
  sendgrid_header do
4
- category MailEngine::Base.current_config["sendgrid_category"]
5
-
4
+ category MailEngine::Base.current_config["sendgrid"]["category_name"]
6
5
  filters {
7
6
  opentrack "enable" => 1
8
7
  clicktrack "enable" => 1
@@ -22,12 +21,11 @@ class MailEngine::MailDispatcher < ActionMailer::Base
22
21
  # ).deliver
23
22
  #
24
23
  def self.method_missing(method, *args)
25
- return super if respond_to?(method) # basically it won't unless subclass
24
+ return super if respond_to?(method)
26
25
 
27
26
  options = args.dup.extract_options!
28
27
  options[:locale] ||= I18n.locale
29
28
 
30
- # TODO if template file exists, don't need to exam the db.
31
29
  templates = MailEngine::MailTemplate.where(:path => method, :locale => options[:locale], :for_marketing => true, :partial => false).order('format desc').all
32
30
  raise "No Template added." if templates.blank?
33
31
 
@@ -28,8 +28,7 @@ module ActionMailer
28
28
  # Why here but not add to default_params of action_mailer? because the receiver email [:to] only can get here.
29
29
  if self.sendgrid_config
30
30
  # if add "replacement_email" option in config
31
- receiver = if replacement_email = MailEngine::Base.current_config["replacement_email"]
32
- replacement_email
31
+ receiver = if (replacement_email = MailEngine::Base.current_config["replacement_email"]).present?
33
32
  headers[:to] = replacement_email
34
33
  else
35
34
  headers[:to]
@@ -3,8 +3,10 @@ development:
3
3
  user_class_name: "User"
4
4
  mount_at: "/admin/mail_engine"
5
5
  access_check_method: "logged_in?"
6
+ default_from: "your@email.address"
6
7
  replacement_email: "dev@youdomain.com"
7
8
  sendgrid:
9
+ category_name: "you category name"
8
10
  sendgrid_user: "you send grid username"
9
11
  sendgrid_key: "password"
10
12
  sendgrid_category: "my sendgrid category"
@@ -15,7 +17,9 @@ test:
15
17
  mount_at: "/admin/mail_engine"
16
18
  access_check_method: "logged_in?"
17
19
  replacement_email: "dev@youdomain.com"
20
+ default_from: "your@email.address"
18
21
  sendgrid:
22
+ category_name: "you category name"
19
23
  sendgrid_user: "you send grid username"
20
24
  sendgrid_key: "password"
21
25
  sendgrid_category: "my sendgrid category"
@@ -25,8 +29,9 @@ production:
25
29
  user_class_name: "User"
26
30
  mount_at: "/admin/mail_engine"
27
31
  access_check_method: "logged_in?"
28
- replacement_email: "dev@youdomain.com"
32
+ default_from: "your@email.address"
29
33
  sendgrid:
34
+ category_name: "you category name"
30
35
  sendgrid_user: "you send grid username"
31
36
  sendgrid_key: "password"
32
37
  sendgrid_category: "my sendgrid category"
data/mail_engine.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{mail_engine}
8
- s.version = "0.1.8"
8
+ s.version = "0.1.9"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["michael he"]
12
- s.date = %q{2011-03-15}
12
+ s.date = %q{2011-03-16}
13
13
  s.description = %q{Rails system mail management solution.}
14
14
  s.email = %q{hlxwell@gmail.com}
15
15
  s.extra_rdoc_files = [
@@ -1,8 +1,7 @@
1
1
  class UserMailer < ActionMailer::Base
2
- default :from => "info@itjob.fm"
3
-
2
+ default :from => MailEngine::Base.current_config["default_from"]
4
3
  sendgrid_header do
5
- category "itjob"
4
+ category MailEngine::Base.current_config["sendgrid"]["category_name"]
6
5
 
7
6
  filters {
8
7
  opentrack "enable" => 1
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mail_engine
3
3
  version: !ruby/object:Gem::Version
4
- hash: 11
4
+ hash: 9
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 1
9
- - 8
10
- version: 0.1.8
9
+ - 9
10
+ version: 0.1.9
11
11
  platform: ruby
12
12
  authors:
13
13
  - michael he
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-03-15 00:00:00 +08:00
18
+ date: 2011-03-16 00:00:00 +08:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency