Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit 4d3e95d
Showing
3,303 changed files
with
422,180 additions
and
0 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Original file line | Diff line number | Diff line change |
---|---|---|---|
@@ -0,0 +1,33 @@ | |||
require 'rubygems' | |||
require 'rake' | |||
require 'rake/rdoctask' | |||
require 'rake/testtask' | |||
require 'spec/rake/spectask' | |||
require 'fileutils' | |||
|
|||
require "merb-core" | |||
require 'merb-core/tasks/merb' | |||
include FileUtils | |||
|
|||
# Load the basic runtime dependencies; this will include | |||
# any plugins and therefore plugin rake tasks. | |||
init_env = ENV['MERB_ENV'] || 'rake' | |||
Merb.load_dependencies(:environment => init_env) | |||
|
|||
# Get Merb plugins and dependencies | |||
Merb::Plugins.rakefiles.each { |r| require r } | |||
|
|||
# Load any app level custom rakefile extensions from lib/tasks | |||
tasks_path = File.join(File.dirname(__FILE__), "lib", "tasks") | |||
rake_files = Dir["#{tasks_path}/*.rake"] | |||
rake_files.each{|rake_file| load rake_file } | |||
|
|||
desc "start runner environment" | |||
task :merb_env do | |||
Merb.start_environment(:environment => init_env, :adapter => 'runner') | |||
end | |||
|
|||
############################################################################## | |||
# ADD YOUR CUSTOM TASKS IN /lib/tasks | |||
# NAME YOUR RAKE FILES file_name.rake | |||
############################################################################## |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Original file line | Diff line number | Diff line change |
---|---|---|---|
@@ -0,0 +1,2 @@ | |||
class Application < Merb::Controller | |||
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Original file line | Diff line number | Diff line change |
---|---|---|---|
@@ -0,0 +1,13 @@ | |||
class Exceptions < Application | |||
|
|||
# handle NotFound exceptions (404) | |||
def not_found | |||
render :format => :html | |||
end | |||
|
|||
# handle NotAcceptable exceptions (406) | |||
def not_acceptable | |||
render :format => :html | |||
end | |||
|
|||
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Original file line | Diff line number | Diff line change |
---|---|---|---|
@@ -0,0 +1,22 @@ | |||
class Files < Application | |||
|
|||
def mp3audio | |||
nginx_send_file("/protected/matz_cant_patch.mp3") | |||
end | |||
|
|||
def image | |||
nginx_send_file("/protected/sirens_of_the_sea.jpg") | |||
end | |||
|
|||
# This is gonna be in merb-core 0.9.8, version in 0.9.7 does | |||
# not take care of content type and content disposition headers | |||
# at all so it's not very useful and may be confusing for some | |||
# people. | |||
def nginx_send_file(path) | |||
# Let Nginx detect content type unless it is explicitly set | |||
headers['Content-Type'] = "" | |||
headers["Content-Disposition"] = "attachment; filename=#{path.split('/').last}" | |||
headers['X-Accel-Redirect'] = path | |||
return ' ' | |||
end | |||
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Original file line | Diff line number | Diff line change |
---|---|---|---|
@@ -0,0 +1,5 @@ | |||
module Merb | |||
module FilesHelper | |||
|
|||
end | |||
end # Merb |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Original file line | Diff line number | Diff line change |
---|---|---|---|
@@ -0,0 +1,5 @@ | |||
module Merb | |||
module GlobalHelpers | |||
# helpers defined here available to all views. | |||
end | |||
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Original file line | Diff line number | Diff line change |
---|---|---|---|
@@ -0,0 +1,9 @@ | |||
module Merb | |||
module Session | |||
|
|||
# The Merb::Session module gets mixed into Merb::SessionContainer to allow | |||
# app-level functionality; it will be included and methods will be available | |||
# through request.session as instance methods. | |||
|
|||
end | |||
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Original file line | Diff line number | Diff line change |
---|---|---|---|
@@ -0,0 +1,216 @@ | |||
<html> | |||
<head> | |||
<meta http-equiv="Content-type" content="text/html; charset=utf-8" /> | |||
<title><%= @exception_name %></title> | |||
<style type="text/css" media="screen"> | |||
body { | |||
font-family:arial; | |||
font-size:11px; | |||
} | |||
h1 { | |||
font-size:48px; | |||
letter-spacing:-4px; | |||
margin:0; | |||
line-height:36px; | |||
color:#333; | |||
} | |||
h1 sup { | |||
font-size: 0.5em; | |||
} | |||
h1 sup.error_500, h1 sup.error_400 { | |||
color:#990E05; | |||
} | |||
h1 sup.error_100, h1 sup.error_200 { | |||
color:#00BF10; | |||
} | |||
h1 sup.error_300 { | |||
/* pretty sure you cant 'see' status 300 | |||
errors but if you could I think they | |||
would be blue */ | |||
color:#1B2099; | |||
} | |||
h2 { | |||
font-size:36px; | |||
letter-spacing:-3px; | |||
margin:0; | |||
line-height:28px; | |||
color:#444; | |||
} | |||
a, a:visited { | |||
color:#00BF10; | |||
} | |||
.internalError { | |||
width:800px; | |||
margin:50px auto; | |||
} | |||
.header { | |||
border-bottom:10px solid #333; | |||
margin-bottom:1px; | |||
background-image: url("data:image/gif;base64,R0lGODlhAwADAIAAAP///8zMzCH5BAAAAAAALAAAAAADAAMAAAIEBHIJBQA7"); | |||
padding:20px; | |||
} | |||
table.trace { | |||
width:100%; | |||
font-family:courier, monospace; | |||
letter-spacing:-1px; | |||
border-collapse: collapse; | |||
border-spacing:0; | |||
} | |||
table.trace tr td{ | |||
padding:0; | |||
height:26px; | |||
font-size:13px; | |||
vertical-align:middle; | |||
} | |||
table.trace tr.file{ | |||
border-top:2px solid #fff; | |||
background-color:#F3F3F3; | |||
} | |||
table.trace tr.source { | |||
background-color:#F8F8F8; | |||
display:none; | |||
} | |||
table.trace .open tr.source { | |||
display:table-row; | |||
} | |||
table.trace tr.file td.expand { | |||
width:23px; | |||
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABcAAAAXCAIAAABvSEP3AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAdVJREFUeNqMVL+TwUAYxaRIOlEhlZHGDAUzzOQ61+AqXMV1lJSU7q/QRqm8KFUcJTNn5qJkaPyoKKVz7y4mF8na5Kt29tt9+/Z97/u81+vVQ4r9frdarS6Xi7ETDIZisRjxMGPfmk4niNPpZE+xLAugbPaZ53nzvtfMBe/3+/3dbuehBrAKhZdUKkVAWa9Xsiybv0CPZDJZLr/qa5/BwgwRjYqOKIvFYjQa/aNommZh0Ww2K5UqzwfoQOPxaLPZ3FAmk0+7lplMpt1u53J5OpBOR0eZEE9wHJfP5zud93g88QhluwWbjW+5VOmKBgKBer3eaDTDYeGBQF8+x7rqIYoiPgixWJazpA6HA+MSxRArkUgMh0M409g8Ho8+9wYxxCqVSq1W26EDHGM2m4HOHQrEc38f/Yn7cLmlIRhBENzcx8cVRZnPZ/YUep2BWkjTIfA+PKVpZAXR5QxsjiqCKvGEqqp443w+0dvy17swqD0HB3S73V5PpkNg1qBqt8kwGCjmPkinM0QJbIoEa7U6UG6ToVgs4V9G2g0ESoP5Aoi7KYX5oCgf8IKbkvn9/mr1LRQKESamzgJy0g0tSZIuB3nuGqRU9Vv9C4sKkUhEkp4soxvxI8AAhWrrtXa3X8EAAAAASUVORK5CYII=); | |||
background-position:top left; | |||
background-repeat:no-repeat; | |||
} | |||
table.trace .open tr.file td.expand { | |||
width:19px; | |||
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABcAAAB1CAIAAAAqdO2mAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAXZJREFUeNrslK1ywkAUhcMOBomEOiSdqLxEBJX0NaijOsjyHGGmCGyQQYaiiiw4gktkcOmZbpsuuzQ/M5XnqJ2d3S/n3nM3rTzPLUP7/Tt0+pLcGQwG3W53OLyHzPMtjYL7q9UqSRLrD4E1Gj1orCvKYuFHUWTVkOM44/HjDcp8/lL4r6NerzeZPMm1KFw0QkDn83m5fP2lHA4fNQvRtNvtjsfDd0WzmSfb2e/fdTqdOvdh/HLJZLOn0+d2HJ+KRGzbdl23EpFlmed5cp2maRzHQq1lvQ5KMi6EUZBGfup6E1pTfd+vrGW7jbQ2C9hTt9BpqNyIWaAwAy6xg2eBz5iRC/NomiZhGN5sqmnkauo0BUGgVQoBjQ80oCACgNQdZHfTYBkF2mxCtWWAqunWpahxIDUt3QYUxIFQpJHyIWpXjinabKbbwItMHT+NyjchrP8QKaSQQgoppJBCCimkkEIKKaSQQgoppJBCCimkkEIKKaSo+hRgAEFD17X08O2NAAAAAElFTkSuQmCC); | |||
background-position:top left; | |||
background-repeat:no-repeat; | |||
} | |||
table.trace tr.source td.collapse { | |||
width:19px; | |||
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABcAAAB1CAIAAAAqdO2mAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAVxJREFUeNrs0zFygkAUBmBlUkgJHdABlQwVkVJKKUxBYWbkALTxMJwhltyDFkss03IF8pudIcwaDaDl/6pd2P327b7d+eHwMXs4lNkzggoVKlSoUKFChQoVKlSoUKFChQoVKlSoUKFChQqVEYqm6ft9+qiSJEkYho7jTlcw2fd9NOI4nq4gEdFwXXe1Cqco63VkWVbXRTqLhTpOwQRpF7quR1E0TgGhqvLKUFCyoQqG/rks3O6kZKW/eRFpevOCoGTXVTcMQ5EyxyDEkML1c5RzuZOICIyXqn7JBVez6282MWrx731HOv2qB8Hri2lamNk0DfpVVdV1Peodappmmua8bdvzuc7zfNprzrLMth1FnGh/X8MjCAIQv/cFz/+65PcDh7rbvYv2ZUfdj+PxsyzLgVl0hKwgTqeqKApx2LeOc7t98zyv/1FWOgvx9RPii23bmL9cetJ8Ed8CDAC6aFW8bCzFhwAAAABJRU5ErkJggg==); | |||
background-position:bottom left; | |||
background-repeat:no-repeat; | |||
background-color:#6F706F; | |||
} | |||
table.trace tr td.path { | |||
padding-left:10px; | |||
} | |||
table.trace tr td.code { | |||
padding-left:35px; | |||
white-space: pre; | |||
line-height:9px; | |||
padding-bottom:10px; | |||
} | |||
table.trace tr td.code em { | |||
font-weight:bold; | |||
color:#00BF10; | |||
} | |||
table.trace tr td.code a { | |||
width: 20px; | |||
float: left; | |||
} | |||
table.trace tr td.code .more { | |||
color:#666; | |||
} | |||
table.trace tr td.line { | |||
width:30px; | |||
text-align:right; | |||
padding-right:4px; | |||
} | |||
.footer { | |||
margin-top:5px; | |||
font-size:11px; | |||
color:#444; | |||
text-align:right; | |||
} | |||
</style> | |||
</head> | |||
<body> | |||
<div class="internalError"> | |||
|
|||
<div class="header"> | |||
<h1><%= @exception_name %> <sup class="error_<%= @exception.class::STATUS %>"><%= @exception.class::STATUS %></sup></h1> | |||
<% if show_details = ::Merb::Config[:exception_details] -%> | |||
<h2><%=h @exception.message %></h2> | |||
<% else -%> | |||
<h2>Sorry about that...</h2> | |||
<% end -%> | |||
<h3>Parameters</h3> | |||
<ul> | |||
<% params[:original_params].each do |param, value| %> | |||
<li><strong><%= param %>:</strong> <%= value.inspect %></li> | |||
<% end %> | |||
<%= "<li>None</li>" if params[:original_params].empty? %> | |||
</ul> | |||
|
|||
<h3>Session</h3> | |||
<ul> | |||
<% params[:original_session].each do |param, value| %> | |||
<li><strong><%= param %>:</strong> <%= value.inspect %></li> | |||
<% end %> | |||
<%= "<li>None</li>" if params[:original_session].empty? %> | |||
</ul> | |||
|
|||
<h3>Cookies</h3> | |||
<ul> | |||
<% params[:original_cookies].each do |param, value| %> | |||
<li><strong><%= param %>:</strong> <%= value.inspect %></li> | |||
<% end %> | |||
<%= "<li>None</li>" if params[:original_cookies].empty? %> | |||
</ul> | |||
</div> | |||
|
|||
<% if show_details %> | |||
<table class="trace"> | |||
<% @exception.backtrace.each_with_index do |line, index| %> | |||
<tbody class="close"> | |||
<tr class="file"> | |||
<td class="expand"> | |||
</td> | |||
<td class="path"> | |||
<%= (line.match(/^([^:]+)/)[1] rescue 'unknown').sub(/\/((opt|usr)\/local\/lib\/(ruby\/)?(gems\/)?(1.8\/)?(gems\/)?|.+\/app\/)/, '') %> | |||
<% unless line.match(/\.erb:/) %> | |||
in "<strong><%= line.match(/:in `(.+)'$/)[1] rescue '?' %></strong>" | |||
<% else %> | |||
(<strong>ERB Template</strong>) | |||
<% end %> | |||
</td> | |||
<td class="line"> | |||
<a href="txmt://open?url=file://<%=file = (line.match(/^([^:]+)/)[1] rescue 'unknown')%>&line=<%= lineno = line.match(/:([0-9]+):/)[1] rescue '?' %>"><%=lineno%></a> | |||
</td> | |||
</tr> | |||
<tr class="source"> | |||
<td class="collapse"> | |||
</td> | |||
<td class="code" colspan="2"><% (__caller_lines__(file, lineno, 5) rescue []).each do |llineno, lcode, lcurrent| %> | |||
<a href="txmt://open?url=file://<%=file%>&line=<%=llineno%>"><%= llineno %></a><%='<em>' if llineno==lineno.to_i %><%= lcode.size > 90 ? CGI.escapeHTML(lcode[0..90])+'<span class="more">......</span>' : CGI.escapeHTML(lcode) %><%='</em>' if llineno==lineno.to_i %> | |||
<% end %> | |||
|
|||
</td> | |||
</tr> | |||
</tbody> | |||
<% end %> | |||
</table> | |||
<script type="text/javascript" charset="utf-8"> | |||
// swop the open & closed classes | |||
els = document.getElementsByTagName('td'); | |||
for(i=0; i<els.length; i++){ | |||
if(els[i].className=='expand' || els[i].className=='collapse'){ | |||
els[i].onclick = function(e){ | |||
tbody = this.parentNode.parentNode; | |||
if(tbody.className=='open'){ | |||
tbody.className='closed'; | |||
}else{ | |||
tbody.className='open'; | |||
} | |||
} | |||
} | |||
} | |||
</script> | |||
<% end %> | |||
<div class="footer"> | |||
lots of love, from <a href="#">merb</a> | |||
</div> | |||
</div> | |||
</body> | |||
</html> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Original file line | Diff line number | Diff line change |
---|---|---|---|
@@ -0,0 +1,63 @@ | |||
<div id="container"> | |||
<div id="header-container"> | |||
<img src="/images/merb.jpg" /> | |||
<!-- <h1>Mongrel + Erb</h1> --> | |||
<h2>pocket rocket web framework</h2> | |||
<hr /> | |||
</div> | |||
|
|||
<div id="left-container"> | |||
<h3>Exception:</h3> | |||
<p><%= params[:exception] %></p> | |||
</div> | |||
|
|||
<div id="main-container"> | |||
<h3>Why am I seeing this page?</h3> | |||
<p>Merb couldn't find an appropriate content_type to return, | |||
based on what you said was available via provides() and | |||
what the client requested.</p> | |||
|
|||
<h3>How to add a mime-type</h3> | |||
<pre><code> | |||
Merb.add_mime_type :pdf, :to_pdf, %w[application/pdf], "Content-Encoding" => "gzip" | |||
</code></pre> | |||
<h3>What this means is:</h3> | |||
<ul> | |||
<li>Add a mime-type for :pdf</li> | |||
<li>Register the method for converting objects to PDF as <code>#to_pdf</code>.</li> | |||
<li>Register the incoming mime-type "Accept" header as <code>application/pdf</code>.</li> | |||
<li>Specify a new header for PDF types so it will set <code>Content-Encoding</code> to gzip.</li> | |||
</ul> | |||
|
|||
<h3>You can then do:</h3> | |||
<pre><code> | |||
class Foo < Application | |||
provides :pdf | |||
end | |||
</code></pre> | |||
|
|||
<h3>Where can I find help?</h3> | |||
<p>If you have any questions or if you can't figure something out, please take a | |||
look at our <a href="http://merbivore.com/"> project page</a>, | |||
feel free to come chat at irc.freenode.net, channel #merb, | |||
or post to <a href="http://groups.google.com/group/merb">merb mailing list</a> | |||
on Google Groups.</p> | |||
|
|||
<h3>What if I've found a bug?</h3> | |||
<p>If you want to file a bug or make your own contribution to Merb, | |||
feel free to register and create a ticket at our | |||
<a href="http://merb.lighthouseapp.com/">project development page</a> | |||
on Lighthouse.</p> | |||
|
|||
<h3>How do I edit this page?</h3> | |||
<p>You can change what people see when this happens by editing <tt>app/views/exceptions/not_acceptable.html.erb</tt>.</p> | |||
|
|||
</div> | |||
|
|||
<div id="footer-container"> | |||
<hr /> | |||
<div class="left"></div> | |||
<div class="right">© 2008 the merb dev team</div> | |||
<p> </p> | |||
</div> | |||
</div> |
Oops, something went wrong.