errgent 1.0.0 → 2.0.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 11eb97f2e7cb08cb9d4306058e18795da984395d
4
- data.tar.gz: 01c11ea3ae1a8ee271748ff28afc7d9203a71f7d
3
+ metadata.gz: 21cda53c106227d17a3b92b51f13264df58354ed
4
+ data.tar.gz: 3c65683f9aa595db86c712c81e314ebbe128d3bf
5
5
  SHA512:
6
- metadata.gz: 93a84710bb755fdf3b558f66fca991ff372e30fdacaeaf5bf4788a5e4f51d59091716047359801b335ae5b0318c78d9c35dff50f16e81762fd69cb6cf1bab60d
7
- data.tar.gz: fa3e02d4d75db46fbaf5f6306f5375994185920319fee33980809696de133366c474993208f69933335871355181f1601708bdeffc90b835f61ba120868e11c9
6
+ metadata.gz: 53833f13268f03a79b2854f84dcce20417228e5e3ac77996c25bc040118c6e3d5923980a9b0d80a2925fc51d16806c3d51c843dd5957bb14db358c5600939b8f
7
+ data.tar.gz: 2804360c95363c5e02c6da4026f17c963feb4c5174fa3b81269b39853def065e878027fb874cffb67a353ecb73e4cac0dd08ac4350c0e432550499ec8fb4f140
data/README.md CHANGED
@@ -1,32 +1,65 @@
1
1
  # Errgent
2
2
 
3
- Generates error pages using layout, your favorite markup language, basic and url
4
- helpers or the other stuff you ever used in your templates. Out of the box Rails
5
- has default error pages, but they're hardly maintained because if you do a
6
- little change in one, you'll have to fix the others. With errgent you can make
7
- changes and regenerate all pages at once.
3
+ Gently generate error pages using layout, your favorite markup language, basic
4
+ and url helpers or the other stuff you ever used in your templates. Out of the
5
+ box Rails has default error pages, but they're hardly maintained, because if you
6
+ do a little change in one, you'll have to fix the others. With `Errgent` you can
7
+ make changes and re-generate all pages at once.
8
8
 
9
9
  ## Installation
10
10
 
11
- gem 'errgent'
11
+ ```ruby
12
+ gem 'errgent'
13
+ ```
12
14
 
13
15
  ## Usage
14
16
 
15
- I'm pretty sure error pages should be lighter than application layout. Running
16
- `rake errgent` will generate pages from `layouts/error_page` to public folder
17
- with names as error codes(by default we generate `500.html`, `403.html`,
18
- `404.html` and `422.html`). `@code` variable is available for you in the
19
- template. You can create and customize your own rake task:
17
+ `Errgent` ships with rake task that you can run locally or on your server using
18
+ `Capistrano`. In order to generate pages simply run `rake errgent`. By default
19
+ `layouts/error_page` is used as a layout. But you can customize this behaviour
20
+ as many other things creating your own task in `lib/tasks/errgent.rake`:
20
21
 
21
- Rake::ErrgentTask.new do |t|
22
- t.codes = [500, 404]
23
- t.source = 'layouts/your_own'
24
- t.destination = 'public/error_%{code}.html'
22
+ ```ruby
23
+ desc 'Generate error pages'
24
+ task errgent: :environment do
25
+ renderer = Errgent::Renderer.new(
26
+ codes: [403, 404, 422, 500], # error codes by default, @code variable is available in layout
27
+ vars: { name: 'value' }, # variable @name will be available in layout
28
+ layout: 'layouts/error_page', # where to find your layout by default
29
+ output: 'public/%s.html' # where to put generated pages by default, %s is the replacement for @code
30
+ )
31
+
32
+ # You can override or define new helpers:
33
+ renderer.helpers do
34
+ def current_user
35
+ nil
36
+ end
37
+
38
+ def logged_in?
39
+ false
25
40
  end
41
+ end
42
+
43
+ renderer.render
44
+ end
45
+ ```
46
+
47
+ ## Capistrano
48
+
49
+ Since almost all applications use `Asset Pipeline`, the links to stylesheets,
50
+ js or images must be represented with digest in their names. It's barely possible
51
+ to do locally unless you generate assets locally either. That's why `Errgent`
52
+ ships with `Capistrano` task. Just put this to `deploy.rb` or `Capfile` (`~> 2.0`
53
+ and `~> 3.0` supported) and all the pages will be generated after
54
+ `assets:precompile` task on your server during deployment:
55
+
56
+ ```ruby
57
+ require 'errgent/capistrano'
58
+ ```
26
59
 
27
- You can add generated pages to git index, and regenerate them on demand, or you
28
- can add `require 'errgent/capistrano'` to `deploy.rb` and it will build pages on
29
- server.
60
+ In other words for development, generate pages locally see how it looks, fix it
61
+ if it needs. Then re-generate them on the server, because development version
62
+ isn't workable in production.
30
63
 
31
64
  ## License
32
65
 
data/Rakefile CHANGED
@@ -6,4 +6,4 @@ Rake::TestTask.new do |t|
6
6
  t.pattern = 'test/*_test.rb'
7
7
  end
8
8
 
9
- task :default => :test
9
+ task default: :test
@@ -1,15 +1,10 @@
1
- # coding: utf-8
2
- lib = File.expand_path('../lib', __FILE__)
3
- $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
- require 'errgent/version'
5
-
6
1
  Gem::Specification.new do |spec|
7
2
  spec.name = 'errgent'
8
- spec.version = Errgent::VERSION
3
+ spec.version = '2.0.0'
9
4
  spec.authors = 'Dmitry Vorotilin'
10
5
  spec.email = 'd.vorotilin@gmail.com'
11
- spec.description = 'Errgent generates error pages for your Rails application'
12
6
  spec.summary = 'Error pages generator'
7
+ spec.description = 'Generate error pages for Rails applications'
13
8
  spec.homepage = 'https://github.com/route/errgent'
14
9
  spec.license = 'MIT'
15
10
 
@@ -1 +1,3 @@
1
- require 'errgent/engine' if defined?(Rails)
1
+ module Errgent
2
+ require 'errgent/engine' if defined?(Rails)
3
+ end
@@ -1,7 +1,8 @@
1
- Capistrano::Configuration.instance.load do
2
- after 'deploy:assets:precompile', 'errgent'
3
-
4
- task :errgent do
5
- run "cd #{latest_release} && RAILS_ENV=#{rails_env} bundle exec rake errgent"
1
+ if defined?(Capistrano::VERSION)
2
+ if Gem::Version.new(Capistrano::VERSION).release >= Gem::Version.new('3.0.0')
3
+ version = 3
6
4
  end
7
5
  end
6
+
7
+ version ||= 2
8
+ require_relative "capistrano/v#{version}"
@@ -0,0 +1,8 @@
1
+ Capistrano::Configuration.instance.load do
2
+ desc 'Generate error pages'
3
+ task :errgent do
4
+ run "cd #{latest_release} && RAILS_ENV=#{rails_env} bundle exec rake errgent"
5
+ end
6
+
7
+ after 'deploy:assets:precompile', 'errgent'
8
+ end
@@ -0,0 +1,12 @@
1
+ desc 'Generate error pages'
2
+ task :errgent do
3
+ on roles(:app) do
4
+ within release_path do
5
+ with rails_env: fetch(:rails_env) do
6
+ execute :rake, :errgent
7
+ end
8
+ end
9
+ end
10
+ end
11
+
12
+ after 'deploy:assets:precompile', 'errgent'
@@ -1,9 +1,5 @@
1
- require 'errgent/task'
1
+ require 'errgent/renderer'
2
2
 
3
- module Errgent
4
- class Engine < ::Rails::Engine
5
- rake_tasks do
6
- Rake::ErrgentTask.new
7
- end
8
- end
3
+ class Errgent::Engine < ::Rails::Engine
4
+ rake_tasks { load 'tasks/errgent.rake' }
9
5
  end
@@ -1,22 +1,34 @@
1
- module Errgent
2
- class Renderer
3
- def action_view
4
- @action_view ||= begin
5
- paths = ActionController::Base.view_paths
6
- ActionView::Base.new(paths).tap do |view|
7
- view.class_eval do
8
- include Rails.application.helpers
9
- include Rails.application.routes.url_helpers
10
- end
11
- end
1
+ class Errgent::Renderer
2
+ def initialize(options = {})
3
+ @vars = options[:vars] || {}
4
+ @codes = options[:codes] || [403, 404, 422, 500]
5
+ @layout = options[:layout] || 'layouts/error_page'
6
+ @output = options[:output] || 'public/%s.html'
7
+ end
8
+
9
+ def render
10
+ @codes.each do |code|
11
+ File.open(Rails.root.join(@output % code), 'w') do |io|
12
+ action_view.assign(@vars.merge(code: code))
13
+ io.write action_view.render(template: @layout)
12
14
  end
13
15
  end
16
+ end
14
17
 
15
- def render(source, destination, assigns = {})
16
- destination = Rails.root.join(destination)
17
- File.open(destination, 'w') do |io|
18
- action_view.assign(assigns)
19
- io.write action_view.render(:template => source)
18
+ def helpers(&block)
19
+ action_view.class_eval(&block)
20
+ end
21
+
22
+ private
23
+
24
+ def action_view
25
+ @action_view ||= begin
26
+ paths = ::ActionController::Base.view_paths
27
+ ::ActionView::Base.new(paths).tap do |view|
28
+ view.class_eval do
29
+ include Rails.application.helpers
30
+ include Rails.application.routes.url_helpers
31
+ end
20
32
  end
21
33
  end
22
34
  end
@@ -0,0 +1,4 @@
1
+ desc 'Generate error pages'
2
+ task errgent: :environment do
3
+ Errgent::Renderer.new.render
4
+ end
@@ -1,56 +1,101 @@
1
1
  require 'test_helper'
2
2
 
3
- class ErrgentRendererTest < MiniTest::Unit::TestCase
4
- include ActiveSupport::Testing::Isolation
5
-
6
- def setup
7
- app.initialize!
8
- @renderer = Errgent::Renderer.new
9
- @renderer.action_view.lookup_context.view_paths = VIEW_PATH
10
- end
3
+ class Errgent::RendererTest < ::MiniTest::Unit::TestCase
4
+ include ::ActiveSupport::Testing::Isolation
11
5
 
12
6
  def test_renders_given_layout
13
- filename = File.join(TMP_PATH, 'given_layout.html')
7
+ @layout = 'layouts/given_layout'
8
+ @output = File.join(TMP_PATH, 'given_layout.html')
14
9
 
15
- @renderer.render('layouts/given_layout', filename)
10
+ renderer.render
16
11
 
17
- assert File.exists?(filename)
18
- assert_equal 'Hi, Dmitry!', File.read(filename)
12
+ assert File.exists?(@output)
13
+ assert_equal 'Hi, Dmitry!', File.read(@output)
19
14
  end
20
15
 
21
16
  def test_assigns_vars
22
- filename = File.join(TMP_PATH, 'assigns_vars.html')
17
+ @vars = { object: 'you' }
18
+ @layout = 'layouts/assigns_vars'
19
+ @output = File.join(TMP_PATH, 'assigns_vars.html')
23
20
 
24
- @renderer.render('layouts/assigns_vars', filename, { object: 'you' })
21
+ renderer.render
25
22
 
26
- assert File.exists?(filename)
27
- assert_equal 'you', File.read(filename)
23
+ assert File.exists?(@output)
24
+ assert_equal 'you', File.read(@output)
28
25
  end
29
26
 
30
27
  def test_url_helpers
31
- filename = File.join(TMP_PATH, 'url_helpers.html')
28
+ @layout = 'layouts/url_helpers'
29
+ @output = File.join(TMP_PATH, 'url_helpers.html')
32
30
 
33
- @renderer.render('layouts/url_helpers', filename)
31
+ renderer.render
34
32
 
35
- assert File.exists?(filename)
36
- assert_equal '/', File.read(filename)
33
+ assert File.exists?(@output)
34
+ assert_equal '/', File.read(@output)
37
35
  end
38
36
 
39
37
  def test_app_helpers
40
- filename = File.join(TMP_PATH, 'app_helpers.html')
38
+ @layout = 'layouts/app_helpers'
39
+ @output = File.join(TMP_PATH, 'app_helpers.html')
40
+
41
+ renderer.render
42
+
43
+ assert File.exists?(@output)
44
+ assert_equal 'hi_there!', File.read(@output)
45
+ end
46
+
47
+ def test_custom_helpers
48
+ @layout = 'layouts/custom_helpers'
49
+ @output = File.join(TMP_PATH, 'custom_helpers.html')
50
+
51
+ renderer.helpers do
52
+ def current_user
53
+ 'Dmitry'
54
+ end
55
+
56
+ def role
57
+ 'admin'
58
+ end
59
+ end
41
60
 
42
- @renderer.render('layouts/app_helpers', filename)
61
+ renderer.render
43
62
 
44
- assert File.exists?(filename)
45
- assert_equal 'hi_there!', File.read(filename)
63
+ assert File.exists?(@output)
64
+ assert_equal 'Dmitry = admin', File.read(@output)
46
65
  end
47
66
 
48
67
  def test_partials
49
- filename = File.join(TMP_PATH, 'partials.html')
68
+ @layout = 'layouts/partials'
69
+ @output = File.join(TMP_PATH, 'partials.html')
70
+
71
+ renderer.render
72
+
73
+ assert File.exists?(@output)
74
+ assert_equal 'First', File.read(@output)
75
+ end
76
+
77
+ def test_a_few_error_pages
78
+ @codes = [404, 500]
79
+ @layout = 'layouts/a_few_error_pages'
80
+ @output = File.join(TMP_PATH, '%s.html')
81
+
82
+ renderer.render
83
+
84
+ assert File.exists?(@output % 404)
85
+ assert_equal '404', File.read(@output % 404)
86
+
87
+ assert File.exists?(@output % 500)
88
+ assert_equal '500', File.read(@output % 500)
89
+ end
50
90
 
51
- @renderer.render('layouts/partials', filename)
91
+ private
52
92
 
53
- assert File.exists?(filename)
54
- assert_equal 'First', File.read(filename)
93
+ def renderer
94
+ @renderer ||= begin
95
+ options = { codes: @codes || [404], layout: @layout, output: @output, vars: @vars }
96
+ Errgent::Renderer.new(options).tap do |renderer|
97
+ renderer.send(:action_view).lookup_context.view_paths = VIEW_PATH
98
+ end
99
+ end
55
100
  end
56
101
  end
@@ -1,10 +1,10 @@
1
+ require 'minitest/autorun'
2
+
1
3
  require 'rails'
2
4
  require 'action_view'
3
5
  require 'action_controller'
4
6
  require 'active_support/testing/isolation'
5
7
 
6
- require 'minitest/autorun'
7
-
8
8
  require 'errgent'
9
9
 
10
10
  class MiniTest::Unit::TestCase
@@ -19,7 +19,7 @@ class MiniTest::Unit::TestCase
19
19
  config.eager_load = false
20
20
 
21
21
  routes {
22
- root :to => 'home#index'
22
+ root to: 'home#index'
23
23
  }
24
24
 
25
25
  helpers_module = Module.new do
@@ -33,6 +33,10 @@ class MiniTest::Unit::TestCase
33
33
  end
34
34
  end
35
35
 
36
+ def setup
37
+ app.initialize!
38
+ end
39
+
36
40
  def teardown
37
41
  Dir[File.join(TMP_PATH, '*')].each { |f| File.delete(f) }
38
42
  end
@@ -0,0 +1 @@
1
+ <%= @code %>
@@ -0,0 +1 @@
1
+ <%= current_user %> = <%= role %>
metadata CHANGED
@@ -1,106 +1,106 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: errgent
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dmitry Vorotilin
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-06-22 00:00:00.000000000 Z
11
+ date: 2014-08-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: railties
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - '>='
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '3.0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - '>='
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '3.0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: actionpack
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - '>='
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: '3.0'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - '>='
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '3.0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: bundler
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ~>
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
47
  version: '1.3'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ~>
52
+ - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '1.3'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: minitest
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ~>
59
+ - - "~>"
60
60
  - !ruby/object:Gem::Version
61
61
  version: '4.0'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ~>
66
+ - - "~>"
67
67
  - !ruby/object:Gem::Version
68
68
  version: '4.0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rake
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - '>='
73
+ - - ">="
74
74
  - !ruby/object:Gem::Version
75
75
  version: '0'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - '>='
80
+ - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: tzinfo
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - '>='
87
+ - - ">="
88
88
  - !ruby/object:Gem::Version
89
89
  version: '0'
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - '>='
94
+ - - ">="
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
- description: Errgent generates error pages for your Rails application
97
+ description: Generate error pages for Rails applications
98
98
  email: d.vorotilin@gmail.com
99
99
  executables: []
100
100
  extensions: []
101
101
  extra_rdoc_files: []
102
102
  files:
103
- - .gitignore
103
+ - ".gitignore"
104
104
  - Gemfile
105
105
  - LICENSE.txt
106
106
  - README.md
@@ -108,15 +108,17 @@ files:
108
108
  - errgent.gemspec
109
109
  - lib/errgent.rb
110
110
  - lib/errgent/capistrano.rb
111
+ - lib/errgent/capistrano/v2.rb
112
+ - lib/errgent/capistrano/v3.rb
111
113
  - lib/errgent/engine.rb
112
114
  - lib/errgent/renderer.rb
113
- - lib/errgent/task.rb
114
- - lib/errgent/version.rb
115
+ - lib/tasks/errgent.rake
115
116
  - test/errgent_renderer_test.rb
116
- - test/errgent_task_test.rb
117
117
  - test/test_helper.rb
118
+ - test/views/layouts/a_few_error_pages.html.erb
118
119
  - test/views/layouts/app_helpers.html.erb
119
120
  - test/views/layouts/assigns_vars.html.erb
121
+ - test/views/layouts/custom_helpers.html.erb
120
122
  - test/views/layouts/error_page.html.erb
121
123
  - test/views/layouts/given_layout.html.erb
122
124
  - test/views/layouts/partials.html.erb
@@ -132,28 +134,30 @@ require_paths:
132
134
  - lib
133
135
  required_ruby_version: !ruby/object:Gem::Requirement
134
136
  requirements:
135
- - - '>='
137
+ - - ">="
136
138
  - !ruby/object:Gem::Version
137
139
  version: '0'
138
140
  required_rubygems_version: !ruby/object:Gem::Requirement
139
141
  requirements:
140
- - - '>='
142
+ - - ">="
141
143
  - !ruby/object:Gem::Version
142
144
  version: '0'
143
145
  requirements: []
144
146
  rubyforge_project:
145
- rubygems_version: 2.0.0
147
+ rubygems_version: 2.2.2
146
148
  signing_key:
147
149
  specification_version: 4
148
150
  summary: Error pages generator
149
151
  test_files:
150
152
  - test/errgent_renderer_test.rb
151
- - test/errgent_task_test.rb
152
153
  - test/test_helper.rb
154
+ - test/views/layouts/a_few_error_pages.html.erb
153
155
  - test/views/layouts/app_helpers.html.erb
154
156
  - test/views/layouts/assigns_vars.html.erb
157
+ - test/views/layouts/custom_helpers.html.erb
155
158
  - test/views/layouts/error_page.html.erb
156
159
  - test/views/layouts/given_layout.html.erb
157
160
  - test/views/layouts/partials.html.erb
158
161
  - test/views/layouts/url_helpers.html.erb
159
162
  - test/views/part/_first.html.erb
163
+ has_rdoc:
@@ -1,40 +0,0 @@
1
- require 'rake'
2
- require 'rake/tasklib'
3
-
4
- require 'errgent/renderer'
5
-
6
- module Rake
7
- class ErrgentTask < Rake::TaskLib
8
- attr_reader :name, :renderer
9
- attr_accessor :codes, :source, :destination
10
-
11
- def initialize(name = :errgent)
12
- @name = name
13
- @renderer = Errgent::Renderer.new
14
-
15
- @codes = [500, 403, 404, 422]
16
- @source = File.join('layouts', 'error_page')
17
- @destination = File.join('public', '%{code}.html')
18
-
19
- yield self if block_given?
20
-
21
- define
22
- end
23
-
24
- def define
25
- desc 'Generates error pages'
26
- task name => :environment do
27
- generate_error_pages
28
- end
29
- end
30
-
31
- private
32
-
33
- def generate_error_pages
34
- codes.each do |code|
35
- assigns = { :code => code }
36
- renderer.render(source, destination % assigns, assigns)
37
- end
38
- end
39
- end
40
- end
@@ -1,3 +0,0 @@
1
- module Errgent
2
- VERSION = '1.0.0'
3
- end
@@ -1,38 +0,0 @@
1
- require 'test_helper'
2
-
3
- class ErrgentTaskTest < MiniTest::Unit::TestCase
4
- include ActiveSupport::Testing::Isolation
5
-
6
- def setup
7
- app.initialize!
8
- end
9
-
10
- def test_customize_settings
11
- task = Rake::ErrgentTask.new do |t|
12
- t.codes = 'codes'
13
- t.source = 'source'
14
- t.destination = 'destination'
15
- end
16
-
17
- assert_equal 'codes', task.codes
18
- assert_equal 'source', task.source
19
- assert_equal 'destination', task.destination
20
- end
21
-
22
- def test_generate_error_pages
23
- filename = File.join(TMP_PATH, 'error_page_%{code}.html')
24
- task = Rake::ErrgentTask.new do |t|
25
- t.codes = [500, 404]
26
- t.destination = filename
27
- t.renderer.action_view.lookup_context.view_paths = VIEW_PATH
28
- end
29
-
30
- task.send(:generate_error_pages)
31
-
32
- _500, _404 = filename % { :code => 500 }, filename % { :code => 404 }
33
- assert File.exists?(_500)
34
- assert_equal '500 error!', File.read(_500)
35
- assert File.exists?(_404)
36
- assert_equal '404 error!', File.read(_404)
37
- end
38
- end