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 +9 -0
- data/README.rdoc +3 -3
- data/email_form_generator.rb +2 -2
- data/templates/config.rb +1 -1
- data/templates/config.yml +3 -3
- data/templates/controller.rb +14 -18
- data/templates/functional_test.rb +2 -19
- data/templates/mailer.rb +5 -6
- data/templates/mailer_test.rb +2 -2
- data/templates/model.rb +5 -2
- data/templates/unit_test.rb +7 -7
- metadata +2 -2
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
|
-
|
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
|
-
|
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
|
-
|
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
|
|
data/email_form_generator.rb
CHANGED
@@ -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", "
|
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
data/templates/config.yml
CHANGED
@@ -8,14 +8,14 @@ development:
|
|
8
8
|
authentication: none
|
9
9
|
username:
|
10
10
|
password:
|
11
|
-
|
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
|
-
|
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
|
-
|
21
|
+
site_admin_email: admin@yourdomain.com
|
data/templates/controller.rb
CHANGED
@@ -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
|
-
|
10
|
-
format.
|
11
|
-
|
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
|
-
|
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
|
-
|
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 =
|
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
|
data/templates/mailer_test.rb
CHANGED
@@ -12,14 +12,14 @@ class <%= class_name %>MailerTest < Test::Unit::TestCase
|
|
12
12
|
|
13
13
|
end
|
14
14
|
|
15
|
-
def
|
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::
|
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::
|
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
|
data/templates/unit_test.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
require File.dirname(__FILE__) + '/../test_helper'
|
2
2
|
|
3
|
-
class <%= class_name %>Test <
|
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
|
-
|
21
|
-
|
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.
|
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-
|
12
|
+
date: 2009-07-03 00:00:00 -05:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|