email_spec 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (93) hide show
  1. data/History.txt +79 -0
  2. data/MIT-LICENSE.txt +19 -0
  3. data/README.rdoc +125 -0
  4. data/Rakefile +51 -0
  5. data/examples/rails_root/Rakefile +7 -0
  6. data/examples/rails_root/app/controllers/application.rb +15 -0
  7. data/examples/rails_root/app/controllers/welcome_controller.rb +9 -0
  8. data/examples/rails_root/app/helpers/application_helper.rb +3 -0
  9. data/examples/rails_root/app/helpers/welcome_helper.rb +2 -0
  10. data/examples/rails_root/app/models/user.rb +2 -0
  11. data/examples/rails_root/app/models/user_mailer.rb +12 -0
  12. data/examples/rails_root/app/views/user_mailer/signup.erb +3 -0
  13. data/examples/rails_root/app/views/welcome/confirm.html.erb +1 -0
  14. data/examples/rails_root/app/views/welcome/index.html.erb +8 -0
  15. data/examples/rails_root/app/views/welcome/signup.html.erb +1 -0
  16. data/examples/rails_root/config/boot.rb +109 -0
  17. data/examples/rails_root/config/database.yml +22 -0
  18. data/examples/rails_root/config/environment.rb +22 -0
  19. data/examples/rails_root/config/environments/development.rb +17 -0
  20. data/examples/rails_root/config/environments/production.rb +24 -0
  21. data/examples/rails_root/config/environments/test.rb +33 -0
  22. data/examples/rails_root/config/initializers/inflections.rb +10 -0
  23. data/examples/rails_root/config/initializers/mime_types.rb +5 -0
  24. data/examples/rails_root/config/initializers/new_rails_defaults.rb +17 -0
  25. data/examples/rails_root/config/routes.rb +43 -0
  26. data/examples/rails_root/cucumber.yml +1 -0
  27. data/examples/rails_root/db/migrate/20090125013728_create_users.rb +11 -0
  28. data/examples/rails_root/db/schema.rb +19 -0
  29. data/examples/rails_root/doc/README_FOR_APP +5 -0
  30. data/examples/rails_root/features/errors.feature +42 -0
  31. data/examples/rails_root/features/example.feature +59 -0
  32. data/examples/rails_root/features/step_definitions/email_steps.rb +74 -0
  33. data/examples/rails_root/features/step_definitions/user_steps.rb +23 -0
  34. data/examples/rails_root/features/step_definitions/webrat_steps.rb +104 -0
  35. data/examples/rails_root/features/support/env.rb +21 -0
  36. data/examples/rails_root/log/development.log +1 -0
  37. data/examples/rails_root/log/test.log +224 -0
  38. data/examples/rails_root/public/404.html +30 -0
  39. data/examples/rails_root/public/422.html +30 -0
  40. data/examples/rails_root/public/500.html +33 -0
  41. data/examples/rails_root/public/dispatch.rb +10 -0
  42. data/examples/rails_root/public/favicon.ico +0 -0
  43. data/examples/rails_root/public/images/rails.png +0 -0
  44. data/examples/rails_root/public/javascripts/application.js +2 -0
  45. data/examples/rails_root/public/javascripts/controls.js +963 -0
  46. data/examples/rails_root/public/javascripts/dragdrop.js +973 -0
  47. data/examples/rails_root/public/javascripts/effects.js +1128 -0
  48. data/examples/rails_root/public/javascripts/prototype.js +4320 -0
  49. data/examples/rails_root/public/robots.txt +5 -0
  50. data/examples/rails_root/script/about +4 -0
  51. data/examples/rails_root/script/autospec +5 -0
  52. data/examples/rails_root/script/console +3 -0
  53. data/examples/rails_root/script/cucumber +7 -0
  54. data/examples/rails_root/script/dbconsole +3 -0
  55. data/examples/rails_root/script/destroy +3 -0
  56. data/examples/rails_root/script/generate +3 -0
  57. data/examples/rails_root/script/performance/benchmarker +3 -0
  58. data/examples/rails_root/script/performance/profiler +3 -0
  59. data/examples/rails_root/script/performance/request +3 -0
  60. data/examples/rails_root/script/plugin +3 -0
  61. data/examples/rails_root/script/process/inspector +3 -0
  62. data/examples/rails_root/script/process/reaper +3 -0
  63. data/examples/rails_root/script/process/spawner +3 -0
  64. data/examples/rails_root/script/runner +3 -0
  65. data/examples/rails_root/script/server +3 -0
  66. data/examples/rails_root/script/spec +5 -0
  67. data/examples/rails_root/script/spec_server +125 -0
  68. data/examples/rails_root/spec/controllers/welcome_controller_spec.rb +15 -0
  69. data/examples/rails_root/spec/model_factory.rb +6 -0
  70. data/examples/rails_root/spec/models/user_mailer_spec.rb +58 -0
  71. data/examples/rails_root/spec/models/user_spec.rb +5 -0
  72. data/examples/rails_root/spec/rcov.opts +2 -0
  73. data/examples/rails_root/spec/spec.opts +4 -0
  74. data/examples/rails_root/spec/spec_helper.rb +51 -0
  75. data/examples/rails_root/stories/all.rb +4 -0
  76. data/examples/rails_root/stories/helper.rb +3 -0
  77. data/examples/rails_root/vendor/plugins/email_spec/rails_generators/email_spec/email_spec_generator.rb +17 -0
  78. data/examples/rails_root/vendor/plugins/email_spec/rails_generators/email_spec/templates/email_steps.rb +74 -0
  79. data/install.rb +0 -0
  80. data/lib/email-spec.rb +1 -0
  81. data/lib/email_spec.rb +14 -0
  82. data/lib/email_spec/address_converter.rb +27 -0
  83. data/lib/email_spec/cucumber.rb +19 -0
  84. data/lib/email_spec/deliveries.rb +55 -0
  85. data/lib/email_spec/email_viewer.rb +70 -0
  86. data/lib/email_spec/helpers.rb +129 -0
  87. data/lib/email_spec/matchers.rb +122 -0
  88. data/rails_generators/email_spec/email_spec_generator.rb +17 -0
  89. data/rails_generators/email_spec/templates/email_steps.rb +74 -0
  90. data/spec/email_spec/matchers_spec.rb +159 -0
  91. data/spec/spec.opts +4 -0
  92. data/spec/spec_helper.rb +4 -0
  93. metadata +181 -0
@@ -0,0 +1,104 @@
1
+ # Commonly used webrat steps
2
+ # http://github.com/brynary/webrat
3
+
4
+ Given /^I am at "(.+)"$/ do |path|
5
+ visit path
6
+ end
7
+
8
+ Given /^I'm on the (.+) page$/ do |page|
9
+ locations = {"signup" => "/"}
10
+ visit locations[page]
11
+ end
12
+
13
+ When /^I press "(.*)"$/ do |button|
14
+ click_button(button)
15
+ end
16
+
17
+ When /^I follow "(.*)"$/ do |link|
18
+ click_link(link)
19
+ end
20
+
21
+ When /^I fill in "(.*)" with "(.*)"$/ do |field, value|
22
+ fill_in(field, :with => value)
23
+ end
24
+
25
+ When /^I select "(.*)" from "(.*)"$/ do |value, field|
26
+ select(value, :from => field)
27
+ end
28
+
29
+ # Use this step in conjunction with Rail's datetime_select helper. For example:
30
+ # When I select "December 25, 2008 10:00" as the date and time
31
+ When /^I select "(.*)" as the date and time$/ do |time|
32
+ select_datetime(time)
33
+ end
34
+
35
+ # Use this step when using multiple datetime_select helpers on a page or
36
+ # you want to specify which datetime to select. Given the following view:
37
+ # <%= f.label :preferred %><br />
38
+ # <%= f.datetime_select :preferred %>
39
+ # <%= f.label :alternative %><br />
40
+ # <%= f.datetime_select :alternative %>
41
+ # The following steps would fill out the form:
42
+ # When I select "November 23, 2004 11:20" as the "Preferred" data and time
43
+ # And I select "November 25, 2004 10:30" as the "Alternative" data and time
44
+ When /^I select "(.*)" as the "(.*)" date and time$/ do |datetime, datetime_label|
45
+ select_datetime(datetime, :from => datetime_label)
46
+ end
47
+
48
+ # Use this step in conjuction with Rail's time_select helper. For example:
49
+ # When I select "2:20PM" as the time
50
+ # Note: Rail's default time helper provides 24-hour time-- not 12 hour time. Webrat
51
+ # will convert the 2:20PM to 14:20 and then select it.
52
+ When /^I select "(.*)" as the time$/ do |time|
53
+ select_time(time)
54
+ end
55
+
56
+ # Use this step when using multiple time_select helpers on a page or you want to
57
+ # specify the name of the time on the form. For example:
58
+ # When I select "7:30AM" as the "Gym" time
59
+ When /^I select "(.*)" as the "(.*)" time$/ do |time, time_label|
60
+ select_time(time, :from => time_label)
61
+ end
62
+
63
+ # Use this step in conjuction with Rail's date_select helper. For example:
64
+ # When I select "February 20, 1981" as the date
65
+ When /^I select "(.*)" as the date$/ do |date|
66
+ select_date(date)
67
+ end
68
+
69
+ # Use this step when using multiple date_select helpers on one page or
70
+ # you want to specify the name of the date on the form. For example:
71
+ # When I select "April 26, 1982" as the "Date of Birth" date
72
+ When /^I select "(.*)" as the "(.*)" date$/ do |date, date_label|
73
+ select_date(date, :from => date_label)
74
+ end
75
+
76
+ When /^I check "(.*)"$/ do |field|
77
+ check(field)
78
+ end
79
+
80
+ When /^I uncheck "(.*)"$/ do |field|
81
+ uncheck(field)
82
+ end
83
+
84
+ When /^I choose "(.*)"$/ do |field|
85
+ choose(field)
86
+ end
87
+
88
+ When /^I attach the file at "(.*)" to "(.*)" $/ do |path, field|
89
+ attach_file(field, path)
90
+ end
91
+
92
+ Then /^I should see "(.*)"$/ do |text|
93
+ response.body.should =~ /#{text}/m
94
+ end
95
+
96
+ Then /^I should not see "(.*)"$/ do |text|
97
+ response.body.should_not =~ /#{text}/m
98
+ end
99
+
100
+ Then /^the "(.*)" checkbox should be checked$/ do |label|
101
+ field_labeled(label).should be_checked
102
+ end
103
+
104
+
@@ -0,0 +1,21 @@
1
+ # Sets up the Rails environment for Cucumber
2
+ ENV["RAILS_ENV"] = "test"
3
+ require File.expand_path(File.dirname(__FILE__) + '/../../config/environment')
4
+ require 'cucumber/rails/world'
5
+ Cucumber::Rails.use_transactional_fixtures
6
+
7
+ require 'webrat'
8
+ require 'cucumber/rails/rspec'
9
+ require 'webrat/core/matchers'
10
+
11
+ Webrat.configure do |config|
12
+ config.mode = :rails
13
+ end
14
+
15
+
16
+
17
+ require File.expand_path(File.dirname(__FILE__) + '../../../../../lib/email_spec')
18
+ require 'email_spec/cucumber'
19
+
20
+ require File.expand_path(File.dirname(__FILE__) +'/../../spec/model_factory.rb')
21
+ World(Fixjour)
@@ -0,0 +1 @@
1
+ # Logfile created on Mon Jun 08 20:15:58 -0600 2009
@@ -0,0 +1,224 @@
1
+ # Logfile created on Mon Jun 08 20:16:03 -0600 2009 SQL (0.3ms)  SELECT name
2
+ FROM sqlite_master
3
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
4
+ 
5
+ SQL (0.2ms) select sqlite_version(*)
6
+ SQL (2.7ms) CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL) 
7
+ SQL (43.5ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
8
+ SQL (0.3ms)  SELECT name
9
+ FROM sqlite_master
10
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
11
+ 
12
+ SQL (0.1ms) SELECT version FROM schema_migrations
13
+ Migrating to CreateUsers (20090125013728)
14
+ SQL (32.4ms) CREATE TABLE "users" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "email" varchar(255), "name" varchar(255)) 
15
+ SQL (5.7ms) INSERT INTO schema_migrations (version) VALUES ('20090125013728')
16
+ SQL (0.4ms)  SELECT name
17
+ FROM sqlite_master
18
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
19
+ 
20
+ SQL (0.2ms) SELECT version FROM schema_migrations
21
+ SQL (0.2ms)  SELECT name
22
+ FROM sqlite_master
23
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
24
+ 
25
+ SQL (0.1ms) PRAGMA index_list("users")
26
+ REQUESTING PAGE: GET / with {} and HTTP headers {}
27
+
28
+
29
+ Processing WelcomeController#index (for 127.0.0.1 at 2009-06-08 20:16:10) [GET]
30
+ Rendering welcome/index
31
+ Completed in 3ms (View: 1, DB: 0) | 200 OK [http://www.example.com/]
32
+ REQUESTING PAGE: POST /welcome/signup with {"Name"=>"", "commit"=>"Sign up", "Email"=>"quentin@example.com"} and HTTP headers {"HTTP_REFERER"=>"/"}
33
+
34
+
35
+ Processing WelcomeController#signup (for 127.0.0.1 at 2009-06-08 20:16:10) [POST]
36
+ Parameters: {"Name"=>"", "commit"=>"Sign up", "Email"=>"quentin@example.com"}
37
+ Sent mail to quentin@example.com
38
+
39
+ Date: Mon, 8 Jun 2009 20:16:10 -0600
40
+ From: admin@example.com
41
+ To: quentin@example.com
42
+ Subject: Account confirmation
43
+ Mime-Version: 1.0
44
+ Content-Type: text/plain; charset=utf-8
45
+
46
+ Hello !
47
+
48
+ <a href="http:///confirm">Click here to confirm your account!</a>
49
+ Rendering welcome/signup
50
+ Completed in 5ms (View: 1, DB: 0) | 200 OK [http://www.example.com/welcome/signup]
51
+ REQUESTING PAGE: GET / with {} and HTTP headers {}
52
+
53
+
54
+ Processing WelcomeController#index (for 127.0.0.1 at 2009-06-08 20:16:10) [GET]
55
+ Rendering welcome/index
56
+ Completed in 1ms (View: 1, DB: 0) | 200 OK [http://www.example.com/]
57
+ REQUESTING PAGE: POST /welcome/signup with {"Name"=>"", "commit"=>"Sign up", "Email"=>"quentin@example.com"} and HTTP headers {"HTTP_REFERER"=>"/"}
58
+
59
+
60
+ Processing WelcomeController#signup (for 127.0.0.1 at 2009-06-08 20:16:10) [POST]
61
+ Parameters: {"Name"=>"", "commit"=>"Sign up", "Email"=>"quentin@example.com"}
62
+ Sent mail to quentin@example.com
63
+
64
+ Date: Mon, 8 Jun 2009 20:16:10 -0600
65
+ From: admin@example.com
66
+ To: quentin@example.com
67
+ Subject: Account confirmation
68
+ Mime-Version: 1.0
69
+ Content-Type: text/plain; charset=utf-8
70
+
71
+ Hello !
72
+
73
+ <a href="http:///confirm">Click here to confirm your account!</a>
74
+ Rendering welcome/signup
75
+ Completed in 4ms (View: 0, DB: 0) | 200 OK [http://www.example.com/welcome/signup]
76
+ REQUESTING PAGE: GET / with {} and HTTP headers {}
77
+
78
+
79
+ Processing WelcomeController#index (for 127.0.0.1 at 2009-06-08 20:16:10) [GET]
80
+ Rendering welcome/index
81
+ Completed in 1ms (View: 1, DB: 0) | 200 OK [http://www.example.com/]
82
+ REQUESTING PAGE: POST /welcome/signup with {"Name"=>"", "commit"=>"Sign up", "Email"=>"quentin@example.com"} and HTTP headers {"HTTP_REFERER"=>"/"}
83
+
84
+
85
+ Processing WelcomeController#signup (for 127.0.0.1 at 2009-06-08 20:16:10) [POST]
86
+ Parameters: {"Name"=>"", "commit"=>"Sign up", "Email"=>"quentin@example.com"}
87
+ Sent mail to quentin@example.com
88
+
89
+ Date: Mon, 8 Jun 2009 20:16:10 -0600
90
+ From: admin@example.com
91
+ To: quentin@example.com
92
+ Subject: Account confirmation
93
+ Mime-Version: 1.0
94
+ Content-Type: text/plain; charset=utf-8
95
+
96
+ Hello !
97
+
98
+ <a href="http:///confirm">Click here to confirm your account!</a>
99
+ Rendering welcome/signup
100
+ Completed in 4ms (View: 1, DB: 0) | 200 OK [http://www.example.com/welcome/signup]
101
+ REQUESTING PAGE: GET / with {} and HTTP headers {}
102
+
103
+
104
+ Processing WelcomeController#index (for 127.0.0.1 at 2009-06-08 20:16:10) [GET]
105
+ Rendering welcome/index
106
+ Completed in 1ms (View: 1, DB: 0) | 200 OK [http://www.example.com/]
107
+ REQUESTING PAGE: POST /welcome/signup with {"Name"=>"", "commit"=>"Sign up", "Email"=>"quentin@example.com"} and HTTP headers {"HTTP_REFERER"=>"/"}
108
+
109
+
110
+ Processing WelcomeController#signup (for 127.0.0.1 at 2009-06-08 20:16:10) [POST]
111
+ Parameters: {"Name"=>"", "commit"=>"Sign up", "Email"=>"quentin@example.com"}
112
+ Sent mail to quentin@example.com
113
+
114
+ Date: Mon, 8 Jun 2009 20:16:10 -0600
115
+ From: admin@example.com
116
+ To: quentin@example.com
117
+ Subject: Account confirmation
118
+ Mime-Version: 1.0
119
+ Content-Type: text/plain; charset=utf-8
120
+
121
+ Hello !
122
+
123
+ <a href="http:///confirm">Click here to confirm your account!</a>
124
+ Rendering welcome/signup
125
+ Completed in 5ms (View: 1, DB: 0) | 200 OK [http://www.example.com/welcome/signup]
126
+ REQUESTING PAGE: GET / with {} and HTTP headers {}
127
+
128
+
129
+ Processing WelcomeController#index (for 127.0.0.1 at 2009-06-08 20:16:10) [GET]
130
+ Rendering welcome/index
131
+ Completed in 1ms (View: 1, DB: 0) | 200 OK [http://www.example.com/]
132
+ REQUESTING PAGE: POST /welcome/signup with {"Name"=>"Quentin Jones", "commit"=>"Sign up", "Email"=>"quentin@example.com"} and HTTP headers {"HTTP_REFERER"=>"/"}
133
+
134
+
135
+ Processing WelcomeController#signup (for 127.0.0.1 at 2009-06-08 20:16:10) [POST]
136
+ Parameters: {"Name"=>"Quentin Jones", "commit"=>"Sign up", "Email"=>"quentin@example.com"}
137
+ Sent mail to quentin@example.com
138
+
139
+ Date: Mon, 8 Jun 2009 20:16:10 -0600
140
+ From: admin@example.com
141
+ To: quentin@example.com
142
+ Subject: Account confirmation
143
+ Mime-Version: 1.0
144
+ Content-Type: text/plain; charset=utf-8
145
+
146
+ Hello Quentin Jones!
147
+
148
+ <a href="http:///confirm">Click here to confirm your account!</a>
149
+ Rendering welcome/signup
150
+ Completed in 5ms (View: 1, DB: 0) | 200 OK [http://www.example.com/welcome/signup]
151
+ REQUESTING PAGE: GET /confirm with {} and HTTP headers {"HTTP_REFERER"=>"/welcome/signup"}
152
+
153
+
154
+ Processing WelcomeController#confirm (for 127.0.0.1 at 2009-06-08 20:16:10) [GET]
155
+ Rendering welcome/confirm
156
+ Completed in 1ms (View: 1, DB: 0) | 200 OK [http://www.example.com/confirm]
157
+ REQUESTING PAGE: GET / with {} and HTTP headers {}
158
+
159
+
160
+ Processing WelcomeController#index (for 127.0.0.1 at 2009-06-08 20:16:10) [GET]
161
+ Rendering welcome/index
162
+ Completed in 1ms (View: 1, DB: 0) | 200 OK [http://www.example.com/]
163
+ REQUESTING PAGE: POST /welcome/signup with {"Name"=>"Quentin Jones", "commit"=>"Sign up", "Email"=>"quentin@example.com"} and HTTP headers {"HTTP_REFERER"=>"/"}
164
+
165
+
166
+ Processing WelcomeController#signup (for 127.0.0.1 at 2009-06-08 20:16:10) [POST]
167
+ Parameters: {"Name"=>"Quentin Jones", "commit"=>"Sign up", "Email"=>"quentin@example.com"}
168
+ Sent mail to quentin@example.com
169
+
170
+ Date: Mon, 8 Jun 2009 20:16:10 -0600
171
+ From: admin@example.com
172
+ To: quentin@example.com
173
+ Subject: Account confirmation
174
+ Mime-Version: 1.0
175
+ Content-Type: text/plain; charset=utf-8
176
+
177
+ Hello Quentin Jones!
178
+
179
+ <a href="http:///confirm">Click here to confirm your account!</a>
180
+ Rendering welcome/signup
181
+ Completed in 4ms (View: 1, DB: 0) | 200 OK [http://www.example.com/welcome/signup]
182
+ REQUESTING PAGE: GET /confirm with {} and HTTP headers {"HTTP_REFERER"=>"/welcome/signup"}
183
+
184
+
185
+ Processing WelcomeController#confirm (for 127.0.0.1 at 2009-06-08 20:16:10) [GET]
186
+ Rendering welcome/confirm
187
+ Completed in 1ms (View: 1, DB: 0) | 200 OK [http://www.example.com/confirm]
188
+ REQUESTING PAGE: GET / with {} and HTTP headers {}
189
+
190
+
191
+ Processing WelcomeController#index (for 127.0.0.1 at 2009-06-08 20:16:10) [GET]
192
+ Rendering welcome/index
193
+ Completed in 1ms (View: 1, DB: 0) | 200 OK [http://www.example.com/]
194
+ REQUESTING PAGE: POST /welcome/signup with {"Name"=>"Jojo Binks", "commit"=>"Sign up", "Email"=>"jojo@thebinks.com"} and HTTP headers {"HTTP_REFERER"=>"/"}
195
+
196
+
197
+ Processing WelcomeController#signup (for 127.0.0.1 at 2009-06-08 20:16:11) [POST]
198
+ Parameters: {"Name"=>"Jojo Binks", "commit"=>"Sign up", "Email"=>"jojo@thebinks.com"}
199
+ Sent mail to jojo@thebinks.com
200
+
201
+ Date: Mon, 8 Jun 2009 20:16:11 -0600
202
+ From: admin@example.com
203
+ To: jojo@thebinks.com
204
+ Subject: Account confirmation
205
+ Mime-Version: 1.0
206
+ Content-Type: text/plain; charset=utf-8
207
+
208
+ Hello Jojo Binks!
209
+
210
+ <a href="http:///confirm">Click here to confirm your account!</a>
211
+ Rendering welcome/signup
212
+ Completed in 5ms (View: 0, DB: 0) | 200 OK [http://www.example.com/welcome/signup]
213
+ REQUESTING PAGE: GET /confirm with {} and HTTP headers {"HTTP_REFERER"=>"/welcome/signup"}
214
+
215
+
216
+ Processing WelcomeController#confirm (for 127.0.0.1 at 2009-06-08 20:16:11) [GET]
217
+ Rendering welcome/confirm
218
+ Completed in 1ms (View: 1, DB: 0) | 200 OK [http://www.example.com/confirm]
219
+
220
+
221
+ Processing WelcomeController#signup (for 0.0.0.0 at 2009-06-08 20:16:17) [POST]
222
+ Parameters: {"Name"=>"Jimmy Bean", "Email"=>"email@example.com"}
223
+ Rendering welcome/signup
224
+ Completed in 3ms (View: 0, DB: 0) | 200 OK [http://test.host/welcome/signup?Email=email%40example.com&Name=Jimmy+Bean]
@@ -0,0 +1,30 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
+
4
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
5
+
6
+ <head>
7
+ <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
8
+ <title>The page you were looking for doesn't exist (404)</title>
9
+ <style type="text/css">
10
+ body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; }
11
+ div.dialog {
12
+ width: 25em;
13
+ padding: 0 4em;
14
+ margin: 4em auto 0 auto;
15
+ border: 1px solid #ccc;
16
+ border-right-color: #999;
17
+ border-bottom-color: #999;
18
+ }
19
+ h1 { font-size: 100%; color: #f00; line-height: 1.5em; }
20
+ </style>
21
+ </head>
22
+
23
+ <body>
24
+ <!-- This file lives in public/404.html -->
25
+ <div class="dialog">
26
+ <h1>The page you were looking for doesn't exist.</h1>
27
+ <p>You may have mistyped the address or the page may have moved.</p>
28
+ </div>
29
+ </body>
30
+ </html>
@@ -0,0 +1,30 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
+
4
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
5
+
6
+ <head>
7
+ <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
8
+ <title>The change you wanted was rejected (422)</title>
9
+ <style type="text/css">
10
+ body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; }
11
+ div.dialog {
12
+ width: 25em;
13
+ padding: 0 4em;
14
+ margin: 4em auto 0 auto;
15
+ border: 1px solid #ccc;
16
+ border-right-color: #999;
17
+ border-bottom-color: #999;
18
+ }
19
+ h1 { font-size: 100%; color: #f00; line-height: 1.5em; }
20
+ </style>
21
+ </head>
22
+
23
+ <body>
24
+ <!-- This file lives in public/422.html -->
25
+ <div class="dialog">
26
+ <h1>The change you wanted was rejected.</h1>
27
+ <p>Maybe you tried to change something you didn't have access to.</p>
28
+ </div>
29
+ </body>
30
+ </html>
@@ -0,0 +1,33 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
+
4
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
5
+
6
+ <head>
7
+ <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
8
+ <title>We're sorry, but something went wrong (500)</title>
9
+ <style type="text/css">
10
+ body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; }
11
+ div.dialog {
12
+ width: 25em;
13
+ padding: 0 4em;
14
+ margin: 4em auto 0 auto;
15
+ border: 1px solid #ccc;
16
+ border-right-color: #999;
17
+ border-bottom-color: #999;
18
+ }
19
+ h1 { font-size: 100%; color: #f00; line-height: 1.5em; }
20
+ </style>
21
+ </head>
22
+
23
+ <body>
24
+ <!-- This file lives in public/500.html -->
25
+ <div class="dialog">
26
+ <h1>We're sorry, but something went wrong.</h1>
27
+ <p>We've been notified about this issue and we'll take a look at it shortly.</p>
28
+ <p><small>(If you're the administrator of this website, then please read
29
+ the log file "<%=h RAILS_ENV %>.log"
30
+ to find out what went wrong.)</small></p>
31
+ </div>
32
+ </body>
33
+ </html>