email_form_generator 1.0.3 → 1.0.4

Sign up to get free protection for your applications and to get access to all the features.
data/History.txt CHANGED
@@ -1,3 +1,12 @@
1
+ == 1.0.4 / 2009-07-03
2
+ * Tests updated for Rails 2.3x
3
+ * Fixed broken generator.
4
+ * Fixed horrible formatting
5
+ * Changed variables in the config file
6
+ * added the default url options to the mailer
7
+ * changed method name of mailer to be more specific so you could easily make your own changes and use the mailer the way you want it.
8
+ == 1.0.3 / 2009-05-25
9
+ * Some minor internal changes relating to templates
1
10
  == 1.0.2 / 2009-02-13
2
11
  * minor changes to the config file that originally was included
3
12
  == 1.0.1 / 2008-05-21
data/README.rdoc CHANGED
@@ -56,17 +56,17 @@ When the generator runs, it creates a configuration file called email.yml. You
56
56
  authentication: none
57
57
  username:
58
58
  password:
59
- contact_recipient: admin@yourdomain.com
59
+ site_admin_email: admin@yourdomain.com
60
60
  production:
61
61
  web_host: http://localhost:3000
62
62
  email:
63
63
  delivery_method: sendmail
64
- contact_recipient: admin@yourdomain.com
64
+ site_admin_email: admin@yourdomain.com
65
65
  test:
66
66
  web_host: http://localhost:3000
67
67
  email:
68
68
  delivery_method: test
69
- contact_recipient: admin@yourdomain.com
69
+ site_admin_email: admin@yourdomain.com
70
70
 
71
71
  This file is read by config/initializers/email_config.rb, where it configures ActionMailer's settings. It should work fine out of the box for most environments.
72
72
 
@@ -60,7 +60,7 @@ class EmailFormGenerator < Rails::Generator::NamedBase
60
60
  # mailer template
61
61
  m.template(
62
62
  "view_form.html.erb",
63
- File.join('app/views', controller_class_path, file_name + "_mailer", "form.html.erb")
63
+ File.join('app/views', controller_class_path, file_name + "_mailer", file_name + ".html.erb")
64
64
  )
65
65
 
66
66
 
@@ -107,7 +107,7 @@ class EmailFormGenerator < Rails::Generator::NamedBase
107
107
  protected
108
108
 
109
109
  def ran_before?
110
- options[:rspec] || (File.exist?('app/models/tableless.rb')
110
+ options[:rspec] || (File.exist?('app/models/tableless.rb'))
111
111
  end
112
112
 
113
113
  # Override with your own usage banner.
data/templates/config.rb CHANGED
@@ -22,4 +22,4 @@ else
22
22
 
23
23
  end
24
24
  WEB_HOST = c[RAILS_ENV]['email']['web_host']
25
- CONTACT_RECIPIENT = c[RAILS_ENV]['email']['contact_recipient']
25
+ SITE_ADMIN_EMAIL = c[RAILS_ENV]['email']['site_admin_email']
data/templates/config.yml CHANGED
@@ -8,14 +8,14 @@ development:
8
8
  authentication: none
9
9
  username:
10
10
  password:
11
- contact_recipient: admin@yourdomain.com
11
+ site_admin_email: admin@yourdomain.com
12
12
  production:
13
13
  web_host: http://localhost:3000
14
14
  email:
15
15
  delivery_method: sendmail
16
- contact_recipient: admin@yourdomain.com
16
+ site_admin_email: admin@yourdomain.com
17
17
  test:
18
18
  web_host: http://localhost:3000
19
19
  email:
20
20
  delivery_method: test
21
- contact_recipient: admin@yourdomain.com
21
+ site_admin_email: admin@yourdomain.com
@@ -1,34 +1,30 @@
1
1
  class <%= controller_class_name %>Controller < ApplicationController
2
2
 
3
3
 
4
- # GET /<%= table_name %>/new
5
- # GET /<%= table_name %>/new.xml
6
- def new
7
- @<%= file_name %> = <%= class_name %>.new
8
-
9
- respond_to do |format|
10
- format.html # new.html.erb
11
- format.xml { render :xml => @<%= file_name %> }
12
- end
13
- end
4
+ # GET /<%= table_name %>/new
5
+ # GET /<%= table_name %>/new.xml
6
+ def new
7
+ @<%= file_name %> = <%= class_name %>.new
8
+ respond_to do |format|
9
+ format.html # new.html.erb
10
+ format.xml { render :xml => @<%= file_name %> }
11
+ end
12
+ end
14
13
 
15
-
16
14
  # POST /<%= table_name %>
17
15
  # POST /<%= table_name %>.xml
18
16
  def create
19
17
  @<%= file_name %> = <%= class_name %>.new(params[:<%= file_name %>])
20
-
21
- respond_to do |format|
22
- if @<%= file_name %>.deliver
18
+ respond_to do |format|
19
+ if @<%= file_name %>.deliver
23
20
  flash[:notice] = 'The message was sent successfully.'
24
21
  format.html { render :action=>"success" }
25
- format.xml { render :xml => @<%= file_name %>, :status => :created, :location => @<%= file_name %> }
26
- else
27
- format.html { render :action => "new" }
22
+ format.xml { render :xml => @<%= file_name %>, :status => :created, :location => @<%= file_name %> }
23
+ else
24
+ format.html { render :action => "new" }
28
25
  format.xml { render :xml => @<%= file_name %>.errors, :status => :unprocessable_entity }
29
26
  end
30
27
  end
31
28
  end
32
29
 
33
-
34
30
  end
@@ -1,25 +1,11 @@
1
1
  require File.dirname(__FILE__) + '/../test_helper'
2
- require '<%= controller_file_name %>_controller'
3
-
4
- # requires mocha gem - gem install mocha
5
- require 'mocha'
6
-
7
- # Re-raise errors caught by the controller.
8
- class <%= controller_class_name %>Controller; def rescue_action(e) raise e end; end
9
-
10
- class <%= controller_class_name %>ControllerTest < Test::Unit::TestCase
11
-
12
2
 
3
+ class <%= controller_class_name %>ControllerTest < ActionController::TestCase
13
4
 
14
5
  def setup
15
- @controller = <%= controller_class_name %>Controller.new
16
- @request = ActionController::TestRequest.new
17
- @response = ActionController::TestResponse.new
18
-
19
6
  ActionMailer::Base.delivery_method = :test
20
7
  ActionMailer::Base.perform_deliveries = false
21
8
  ActionMailer::Base.deliveries = []
22
-
23
9
  end
24
10
 
25
11
  def test_should_display_form
@@ -28,8 +14,8 @@ class <%= controller_class_name %>ControllerTest < Test::Unit::TestCase
28
14
  assert_response :success
29
15
  end
30
16
 
31
-
32
17
  def test_should_show_success_when_created
18
+ <%=class_name %>.any_instance.expects(:deliver).returns(true)
33
19
  post :create, {:<%= file_name %> => {} }
34
20
  assert_response :success
35
21
  assert_template "success"
@@ -37,11 +23,8 @@ class <%= controller_class_name %>ControllerTest < Test::Unit::TestCase
37
23
 
38
24
  def test_should_fail_to_send_and_show_form_again
39
25
  <%=class_name %>.any_instance.expects(:deliver).returns(false)
40
-
41
26
  post :create
42
27
  assert_response :success
43
28
  assert_template "new"
44
29
  end
45
-
46
-
47
30
  end
data/templates/mailer.rb CHANGED
@@ -1,17 +1,16 @@
1
1
  class <%= class_name %>Mailer < ActionMailer::Base
2
- def form(<%= file_name %>)
2
+ default_url_options[:host] = WEB_HOST
3
+
4
+ def <%=singular_name %>(<%= file_name %>)
3
5
  setup_email(<%= file_name %>)
4
6
  @subject += 'Message from the site'
5
- @recipients = CONTACT_RECIPIENT
6
-
7
+ @recipients = SITE_ADMIN_EMAIL
7
8
  end
8
9
 
9
-
10
-
11
10
  protected
12
11
  def setup_email(<%= file_name %>)
13
12
  @from = "ADMINEMAIL"
14
- @subject = "[YOURSITE] "
13
+ @subject = "[YOURSITE]"
15
14
  @sent_on = Time.now
16
15
  @body[:<%= file_name %>] = <%= file_name %>
17
16
  end
@@ -12,14 +12,14 @@ class <%= class_name %>MailerTest < Test::Unit::TestCase
12
12
 
13
13
  end
14
14
 
15
- def test_deliver_form
15
+ def test_deliver_<%=singular_name %>
16
16
  @f = <%=class_name %>.new
17
17
 
18
18
  <% attributes.each do |attribute| %>
19
19
  @f.<%=attribute.name %> = "foo"
20
20
  <% end %>
21
21
 
22
- <%=class_name%>Mailer::deliver_form(@f)
22
+ <%=class_name%>Mailer::deliver_<%=singular_name %>(@f)
23
23
  assert_equal 1, ActionMailer::Base.deliveries.length
24
24
 
25
25
  end
data/templates/model.rb CHANGED
@@ -1,13 +1,16 @@
1
1
  class <%= class_name %> < Tableless
2
2
  <% for attribute in attributes -%>
3
- <%= "column :#{attribute.name}, :#{attribute.type}" %>
3
+ <%= "column :#{attribute.name}, :#{attribute.type}" %>
4
4
  <% end -%>
5
5
 
6
+ <% for attribute in attributes -%>
7
+ <%= "validates_presence_of :#{attribute.name}" %>
8
+ <% end -%>
6
9
 
7
10
  def deliver
8
11
  if valid?
9
12
  begin
10
- <%= class_name %>Mailer::deliver_form(self)
13
+ <%= class_name %>Mailer::deliver_<%=singular_name %>(self)
11
14
  rescue
12
15
  @errors.add_to_base "Your message could not be sent due to configuration issues with the server."
13
16
  return false
@@ -1,6 +1,6 @@
1
1
  require File.dirname(__FILE__) + '/../test_helper'
2
2
 
3
- class <%= class_name %>Test < Test::Unit::TestCase
3
+ class <%= class_name %>Test < ActiveSupport::TestCase
4
4
 
5
5
  def test_should_deliver_message
6
6
 
@@ -15,12 +15,12 @@ class <%= class_name %>Test < Test::Unit::TestCase
15
15
 
16
16
  # modify this test in such a way as to cause the
17
17
  # validations to fail, if you have any.
18
- def test_should_not_deliver_message
19
-
20
- @f = <%=class_name %>.new
21
- assert ! @f.deliver
22
-
23
- end
18
+ # def test_should_not_deliver_message
19
+ #
20
+ # @f = <%=class_name %>.new
21
+ # assert ! @f.deliver
22
+ #
23
+ # end
24
24
 
25
25
 
26
26
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: email_form_generator
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.3
4
+ version: 1.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brian Hogan
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-05-20 00:00:00 -05:00
12
+ date: 2009-07-03 00:00:00 -05:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency