email_manager 0.0.2 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG +8 -0
- data/README.rdoc +4 -0
- data/VERSION +1 -1
- data/app/views/email_manager/managed_emails/_pagination.html.haml +2 -0
- data/app/views/email_manager/managed_emails/_search_form.html.haml +14 -0
- data/app/views/email_manager/managed_emails/index.html.haml +25 -0
- data/app/views/email_manager/managed_emails/show.html.haml +45 -0
- data/email_manager.gemspec +5 -1
- data/lib/generators/email_manager/views_generator.rb +43 -1
- data/spec/dummy/db/test.sqlite3 +0 -0
- metadata +6 -2
data/CHANGELOG
CHANGED
data/README.rdoc
CHANGED
@@ -14,6 +14,10 @@ Install the gem
|
|
14
14
|
|
15
15
|
This will add a migration and an initializer. Run the migration and everything will be ready to go. All mailers inheriting from ActionMailer::Base will have their deliveries recorded.
|
16
16
|
|
17
|
+
To override the views and controller, run the views generator. The -e argument can be used to create haml or erb based views. Erb is the default.
|
18
|
+
|
19
|
+
rails generate email_manager:views -e haml
|
20
|
+
|
17
21
|
== Todos
|
18
22
|
|
19
23
|
* Improve test coverage
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.3
|
@@ -0,0 +1,14 @@
|
|
1
|
+
- if locals[:search_enabled]
|
2
|
+
= form_for [:email_manager, locals[:search]], :url => email_manager_managed_emails_path do |form|
|
3
|
+
%h3 Search Managed Emails
|
4
|
+
%p
|
5
|
+
= form.label "Subject Search"
|
6
|
+
= form.text_field :subject_contains
|
7
|
+
%p
|
8
|
+
= form.label "Recipient Search"
|
9
|
+
= form.text_field :to_contains
|
10
|
+
%p
|
11
|
+
= form.label "Message Search"
|
12
|
+
= form.text_field :body_contains
|
13
|
+
= form.submit "Search"
|
14
|
+
= button_to "Show All", email_manager_managed_emails_path
|
@@ -0,0 +1,25 @@
|
|
1
|
+
%div.topnav
|
2
|
+
%h1.pagetitle Listing Managed Emails
|
3
|
+
|
4
|
+
= render "search_form", :locals => { :search => @search, :search_enabled => @search_enabled }
|
5
|
+
%div.content
|
6
|
+
= render "pagination", :locals => { :records => @records, :pagniation_enabled => @pagination_enabled }
|
7
|
+
%table.tableview
|
8
|
+
%tr
|
9
|
+
%th To
|
10
|
+
%th Subject
|
11
|
+
%th Date Sent
|
12
|
+
%th Sent From
|
13
|
+
%th Show
|
14
|
+
- if @managed_emails.length > 0
|
15
|
+
- @managed_emails.each do |managed_email|
|
16
|
+
%tr
|
17
|
+
%td= managed_email.to
|
18
|
+
%td= managed_email.subject
|
19
|
+
%td= managed_email.date_sent
|
20
|
+
%td= managed_email.caller
|
21
|
+
%td= link_to "Show", email_manager_managed_email_path(managed_email)
|
22
|
+
- else
|
23
|
+
%tr
|
24
|
+
%td{:colspan => '5'}
|
25
|
+
There are no Managed Emails that match your query
|
@@ -0,0 +1,45 @@
|
|
1
|
+
%h1.pagetitle Viewing managed email
|
2
|
+
|
3
|
+
%div.content
|
4
|
+
#managed_email
|
5
|
+
%p
|
6
|
+
%b Date Sent:
|
7
|
+
= @managed_email.date_sent
|
8
|
+
%p
|
9
|
+
%b From:
|
10
|
+
= @managed_email.from
|
11
|
+
%p
|
12
|
+
%b Reply To:
|
13
|
+
= @managed_email.reply_to
|
14
|
+
%p
|
15
|
+
%b To:
|
16
|
+
= @managed_email.to
|
17
|
+
%p
|
18
|
+
%b CC:
|
19
|
+
= @managed_email.cc
|
20
|
+
%p
|
21
|
+
%b BCC:
|
22
|
+
= @managed_email.bcc
|
23
|
+
%p
|
24
|
+
%b Headers:
|
25
|
+
= @managed_email.headers
|
26
|
+
%p
|
27
|
+
%b Message ID:
|
28
|
+
= @managed_email.message_id
|
29
|
+
%p
|
30
|
+
%b Subject:
|
31
|
+
= @managed_email.subject
|
32
|
+
%p
|
33
|
+
%b Body:
|
34
|
+
%br
|
35
|
+
%iframe{ :width => "600", :height => "512", :src => "#{email_manager_managed_email_body_path(@managed_email)}" }
|
36
|
+
%p
|
37
|
+
Your browser does not support iframes.
|
38
|
+
= @managed_email.body
|
39
|
+
%p
|
40
|
+
%b Caller:
|
41
|
+
= @managed_email.caller
|
42
|
+
|
43
|
+
= link_to "Back", email_manager_managed_emails_path
|
44
|
+
|
45
|
+
|
data/email_manager.gemspec
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{email_manager}
|
8
|
-
s.version = "0.0.
|
8
|
+
s.version = "0.0.3"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = [%q{Jeremiah Hemphill}]
|
@@ -29,9 +29,13 @@ Gem::Specification.new do |s|
|
|
29
29
|
"app/controllers/email_manager/managed_emails_controller.rb",
|
30
30
|
"app/models/email_manager/managed_email.rb",
|
31
31
|
"app/views/email_manager/managed_emails/_pagination.html.erb",
|
32
|
+
"app/views/email_manager/managed_emails/_pagination.html.haml",
|
32
33
|
"app/views/email_manager/managed_emails/_search_form.html.erb",
|
34
|
+
"app/views/email_manager/managed_emails/_search_form.html.haml",
|
33
35
|
"app/views/email_manager/managed_emails/index.html.erb",
|
36
|
+
"app/views/email_manager/managed_emails/index.html.haml",
|
34
37
|
"app/views/email_manager/managed_emails/show.html.erb",
|
38
|
+
"app/views/email_manager/managed_emails/show.html.haml",
|
35
39
|
"config/routes.rb",
|
36
40
|
"email_manager.gemspec",
|
37
41
|
"lib/email_manager.rb",
|
@@ -1,2 +1,44 @@
|
|
1
1
|
# Generate the controller and views into the parent project
|
2
|
-
#
|
2
|
+
# @author Jeremiah Hemphill
|
3
|
+
module EmailManager
|
4
|
+
module Generators
|
5
|
+
class ViewsGenerator < Rails::Generators::Base
|
6
|
+
source_root File.expand_path("../../../../app", __FILE__)
|
7
|
+
|
8
|
+
class_option :template_engine, :type => :string, :aliases => '-e', :desc => 'Template engine for the views. Available options are "erb" and "haml" with a default value of "erb".'
|
9
|
+
|
10
|
+
desc <<DESC
|
11
|
+
Description:
|
12
|
+
Copies the controller and views into the rails project so they can be overriden.
|
13
|
+
DESC
|
14
|
+
|
15
|
+
# Stolen from Kaminari gem
|
16
|
+
# @returns [String] either 'haml' or 'erb' based on the user input (which is set to template_engine)
|
17
|
+
def template_engine
|
18
|
+
te = options[:template_engine].try(:to_s).try(:downcase) || 'erb'
|
19
|
+
if te == "haml"
|
20
|
+
return "haml"
|
21
|
+
else
|
22
|
+
return "erb"
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
# Adds the views to the parent project
|
27
|
+
def copy_views
|
28
|
+
#theoretical support in the future for haml
|
29
|
+
extension = "." + template_engine
|
30
|
+
file_names = %w{index show _pagination _search_form }
|
31
|
+
file_names.each do |file_name|
|
32
|
+
source = "views/email_manager/managed_emails/" + file_name + ".html" + extension
|
33
|
+
destination = "app/views/email_manager/managed_emails/" + file_name + ".html" + extension
|
34
|
+
copy_file source, destination
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
# Addes the controller to the parent project
|
39
|
+
def copy_controller
|
40
|
+
template "controllers/email_manager/managed_emails_controller.rb", "app/controllers/email_manager/managed_emails_controller.rb"
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
data/spec/dummy/db/test.sqlite3
CHANGED
Binary file
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: email_manager
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.0.
|
5
|
+
version: 0.0.3
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Jeremiah Hemphill
|
@@ -166,9 +166,13 @@ files:
|
|
166
166
|
- app/controllers/email_manager/managed_emails_controller.rb
|
167
167
|
- app/models/email_manager/managed_email.rb
|
168
168
|
- app/views/email_manager/managed_emails/_pagination.html.erb
|
169
|
+
- app/views/email_manager/managed_emails/_pagination.html.haml
|
169
170
|
- app/views/email_manager/managed_emails/_search_form.html.erb
|
171
|
+
- app/views/email_manager/managed_emails/_search_form.html.haml
|
170
172
|
- app/views/email_manager/managed_emails/index.html.erb
|
173
|
+
- app/views/email_manager/managed_emails/index.html.haml
|
171
174
|
- app/views/email_manager/managed_emails/show.html.erb
|
175
|
+
- app/views/email_manager/managed_emails/show.html.haml
|
172
176
|
- config/routes.rb
|
173
177
|
- email_manager.gemspec
|
174
178
|
- lib/email_manager.rb
|
@@ -237,7 +241,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
237
241
|
requirements:
|
238
242
|
- - ">="
|
239
243
|
- !ruby/object:Gem::Version
|
240
|
-
hash:
|
244
|
+
hash: 4090985342549708386
|
241
245
|
segments:
|
242
246
|
- 0
|
243
247
|
version: "0"
|