email_spec 0.2.0

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.
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>