email_manager 0.0.2 → 0.0.3

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/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"