static_errors 1.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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 366b74b0021aac86c4a4ecde8e580f50b927007d
4
+ data.tar.gz: 33a48b256aa1285b5f78dda53b6211b23915b5f2
5
+ SHA512:
6
+ metadata.gz: f4da41c54d7169ffff20eb62c05fb6b076532ecc7cb62d635531cfb487adb3a9c795de4663509b0fc0a183606c9e2e7a7152e672a1d7ecc031de3d91a2ede074
7
+ data.tar.gz: 6d02934eefe496f267386fdc6c4c92c7123de3fa8c7bea080baed35d79af3d80101260ba97a10944ae6e54333dabb9c3c1fa5f3fd371c6272b327084dd0eb609
data/README.md ADDED
@@ -0,0 +1,55 @@
1
+ # Overview
2
+
3
+ StaticErrors is a gem to help with the creation of static error pages. It allows you to
4
+ use a dynamically generated page as a template, so all of your default styling and layouts
5
+ can be used to design the error page. This dynamic page is then saved for static rendering.
6
+
7
+ # Syntax
8
+
9
+ rake static_errors <options: option=value,value2>
10
+
11
+ | Options | Use | Default |
12
+ | --- | --- | --- |
13
+ | path | Changes the dynamic error root url | http://localhost:3000/errors/ |
14
+ | languages | Any additional languages to save | <none> |
15
+ | errors | Which errors to save | <none> |
16
+ | destination | Where to save the static error pages | public/ |
17
+
18
+
19
+ # Use Cases
20
+
21
+ ## 1: Basic Operations
22
+
23
+ rake static_errors errors=404
24
+
25
+ Saving http://localhost:3000/errors/404 to public/404.html
26
+
27
+
28
+ ## 2: Multiple Errors
29
+
30
+ rake static_errors errors=422,500
31
+
32
+ Saving http://localhost:3000/errors/422 to public/422.html
33
+ Saving http://localhost:3000/errors/500 to public/500.html
34
+
35
+
36
+ ## 3: Multiple Languages
37
+
38
+ rake static_errors errors=422 languages=en-GB,de
39
+
40
+ Saving http://localhost:3000/errors/422 to public/422.html
41
+ Saving http://localhost:3000/errors/422?locale=en-GB to public/422.en-GB.html
42
+ Saving http://localhost:3000/errors/422?locale=de to public/422.de.html
43
+
44
+
45
+ ## 4: Custom URL / Filepaths
46
+
47
+ rake static_errors errors=422 path=http://mytestserver/special_errors/ destination=public/local/errors/
48
+
49
+ Saving http://mytestserver/special_errors/422 to public/local/errors/422.html
50
+
51
+
52
+ # Final Considerations
53
+
54
+ You may wish to check the urls of any externally referenced files needed to render your
55
+ error pages. ex: Should jquery/bootstrap/etc be at the same url for your static errors?
@@ -0,0 +1,3 @@
1
+ module StaticErrors
2
+ require "static_errors/railtie.rb" if defined?(Rails)
3
+ end
@@ -0,0 +1,10 @@
1
+ require 'static_errors'
2
+ require 'rails'
3
+
4
+ module StaticErrors
5
+ class Railtie < Rails::Railtie
6
+ rake_tasks do
7
+ require 'static_errors/tasks/static_errors.rb'
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,38 @@
1
+ def save(source, dest)
2
+ puts "Saving #{source} to #{dest}"
3
+
4
+ a = Mechanize.new
5
+ a.get(source) do |page|
6
+ File.delete(dest) if File.exist?(dest)
7
+ page.save dest
8
+ end
9
+ end
10
+
11
+ task :static_errors => :environment do
12
+ @path = 'http://localhost:3000/errors/'
13
+ @languages = ''
14
+ @errors = ''
15
+ @destination = "public/"
16
+
17
+ @path = ENV["path"] if ENV["path"]
18
+ @languages = ENV["languages"] if ENV["languages"]
19
+ @errors = ENV["errors"] if ENV["errors"]
20
+ @destination = ENV["destination"] if ENV["destination"]
21
+
22
+ =begin
23
+ puts "Path: #{@path}"
24
+ puts "Languages #{@languages}"
25
+ puts "Errors #{@errors}"
26
+ puts "Destination #{@destination}"
27
+ =end
28
+
29
+ languages = @languages.split(',')
30
+ errors = @errors.split(',')
31
+
32
+ errors.each do |error|
33
+ save("#{@path}#{error}", "#{@destination}#{error}.html")
34
+ languages.each do |language|
35
+ save("#{@path}#{error}?locale=#{language}", "#{@destination}#{error}.#{language}.html")
36
+ end
37
+ end
38
+ end
metadata ADDED
@@ -0,0 +1,61 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: static_errors
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - shogarth
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-01-05 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: mechanize
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - '>='
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - '>='
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ description: Saves dynamic pages as a static error file
28
+ email: shogarth@shogarth.com
29
+ executables: []
30
+ extensions: []
31
+ extra_rdoc_files: []
32
+ files:
33
+ - README.md
34
+ - lib/static_errors.rb
35
+ - lib/static_errors/railtie.rb
36
+ - lib/static_errors/tasks/static_errors.rb
37
+ homepage: http://shogarth.com
38
+ licenses:
39
+ - Copyright 2014 - All Rights Reserved
40
+ metadata: {}
41
+ post_install_message:
42
+ rdoc_options: []
43
+ require_paths:
44
+ - lib
45
+ required_ruby_version: !ruby/object:Gem::Requirement
46
+ requirements:
47
+ - - '>='
48
+ - !ruby/object:Gem::Version
49
+ version: '0'
50
+ required_rubygems_version: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ requirements: []
56
+ rubyforge_project:
57
+ rubygems_version: 2.0.0.rc.2
58
+ signing_key:
59
+ specification_version: 4
60
+ summary: Static Errors
61
+ test_files: []