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 CHANGED
@@ -1,3 +1,11 @@
1
+ == 0.0.3
2
+
3
+ * Added a generator to override the controller and views
4
+
5
+ == 0.0.2
6
+
7
+ * Commenting
8
+
1
9
  == 0.0.1
2
10
 
3
11
  * Initial work and setup
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.2
1
+ 0.0.3
@@ -0,0 +1,2 @@
1
+ - if locals[:pagination_enabled]
2
+ = paginate locals[:records]
@@ -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
+
@@ -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.2"
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
- # Needs some work
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
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.2
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: -1746631203219800764
244
+ hash: 4090985342549708386
241
245
  segments:
242
246
  - 0
243
247
  version: "0"