mail_engine 0.1.8 → 0.1.9

Sign up to get free protection for your applications and to get access to all the features.
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