Changeset 629

Show
Ignore:
Timestamp:
09/10/07 23:14:05 (1 year ago)
Author:
iv..@gweezlebur.com
Message:

move specs to spec, update to latest merb -g

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • apps/merki/trunk/app/views/exceptions/internal_server_error.html.erb

    r610 r629  
    1 <html> 
    2   <head> 
    3     <title><%= @title %></title> 
    4     <style type="text/css"> 
    5       <!-- 
    6       table {border:0px} 
    7       tr {line-height:1.3} 
    8       td {font-size:.8em; padding:4px} 
    9       h1 {font-size:2em} 
    10       h1, td {font-family:'courier new', 'courier', monospace} 
    11       td.line {color:#000;  text-align:center} 
    12       td.method {font-weight:bold; text-align:right} 
    13       td.file a {color:#000} 
    14       td.file a:hover {color:#F00} 
    15       tr.clickable:hover {background:#FFA} 
    16       .clickable {cursor: help } 
    17       #title {float: left;} 
    18       .source  
    19       { 
    20         border:1px #000 solid; 
    21         margin:2px; 
    22         padding:8px; 
    23         background:#F0F0F0; 
    24       } 
     1<% if show_exception_details? %> 
     2        <html> 
     3          <head> 
     4            <title><%= @title %></title> 
     5            <style type="text/css"> 
     6              <!-- 
     7              table {border:0px} 
     8              tr {line-height:1.3} 
     9              td {font-size:.8em; padding:4px} 
     10              h1 {font-size:2em} 
     11              h1, td {font-family:'courier new', 'courier', monospace} 
     12              td.line {color:#000;  text-align:center} 
     13              td.method {font-weight:bold; text-align:right} 
     14              td.file a {color:#000} 
     15              td.file a:hover {color:#F00} 
     16              tr.clickable:hover {background:#FFA} 
     17              .clickable {cursor: help } 
     18              #title {float: left;} 
     19              .source  
     20              { 
     21                border:1px #000 solid; 
     22                margin:2px; 
     23                padding:8px; 
     24                background:#F0F0F0; 
     25              } 
    2526       
    26       --> 
    27       <% if @coderay %> 
    28         <%= CodeRay::Encoders[:html]::CSS.new.stylesheet %> 
    29       <% end %>   
    30     </style> 
    31     <script type="text/javascript"> 
    32     $ = function(el){ 
    33       if(el === null || el === undefined) 
    34         throw("Argument for $() must be a domRef/domId"); 
    35       if( el.constructor === String ) 
    36         el = document.getElementById(el); 
    37       if(el === null || !el.nodeType) 
    38         throw("Argument for $() not found in document tree."); 
    39       return el; 
    40     } 
     27             --> 
     28             <% if @coderay %> 
     29               <%= CodeRay::Encoders[:html]::CSS.new.stylesheet %> 
     30             <% end %>   
     31           </style> 
     32           <script type="text/javascript"> 
     33           $ = function(el){ 
     34             if(el === null || el === undefined) 
     35               throw("Argument for $() must be a domRef/domId"); 
     36             if( el.constructor === String ) 
     37               el = document.getElementById(el); 
     38             if(el === null || !el.nodeType) 
     39               throw("Argument for $() not found in document tree."); 
     40             return el; 
     41           } 
    4142 
    42     var toggle = function(el){ 
    43       el = $(el); 
    44       var visible = el.style.display != 'none';  // visible? boolean 
    45       if(visible){ 
    46         el.style.display = 'none'; // hide 
    47       }else{ 
    48         el.style.display = '';  // unhide 
    49       } 
    50     } 
    51     </script> 
    52   </head> 
    53   <body> 
    54     <div> 
    55       <h1><img src="data:image/jpg;base64,/9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAAJQAA/+4ADkFk\nb2JlAGTAAAAAAf/bAIQADQkJCQoJDQoKDRMMCwwTFhENDREWGhUVFhUVGhkU\nFhUVFhQZGR0fIB8dGScnKionJzk4ODg5QEBAQEBAQEBAQAEODAwOEA4RDw8R\nFA4RDhQVERISERUgFRUXFRUgKB0ZGRkZHSgjJiAgICYjLCwoKCwsNzc1NzdA\nQEBAQEBAQEBA/8AAEQgAJgAtAwEiAAIRAQMRAf/EAT8AAAEFAQEBAQEBAAAA\nAAAAAAMAAQIEBQYHCAkKCwEAAQUBAQEBAQEAAAAAAAAAAQACAwQFBgcICQoL\nEAABBAEDAgQCBQcGCAUDDDMBAAIRAwQhEjEFQVFhEyJxgTIGFJGhsUIjJBVS\nwWIzNHKC0UMHJZJT8OHxY3M1FqKygyZEk1RkRcKjdDYX0lXiZfKzhMPTdePz\nRieUpIW0lcTU5PSltcXV5fVWZnaGlqa2xtbm9jdHV2d3h5ent8fX5/cRAAIC\nAQIEBAMEBQYHBwYFNQEAAhEDITESBEFRYXEiEwUygZEUobFCI8FS0fAzJGLh\ncoKSQ1MVY3M08SUGFqKygwcmNcLSRJNUoxdkRVU2dGXi8rOEw9N14/NGlKSF\ntJXE1OT0pbXF1eX1VmZ2hpamtsbW5vYnN0dXZ3eHl6e3x//aAAwDAQACEQMR\nAD8A9OVDK6xRQYa02axuEBvnB7x8Fm/W36x19HqoxmAvyswkMraHFwY2N7va\nCe/5Vy/Seu29RvdXaI2CW6EBw4OhGnZAk9Einrbuvn03Oaw1lvmCCP8ANXPW\n9Zz7shlrM9zKBLnN3Fmg1gnj8An61m14eCbAN9j4ZVWJJc5x2gQPivO3ZnUM\nXLtfY8by73sDmuHw9pPCZRPVNgdH13F+teJU51WbZpX9O4xpPEho4juug9Wr\n0vW3t9Lbv9SRt2xO7dxEL5+blW5I2W2FrdsSJJgdj4r0P1W/+Nf6Un1p9PZJ\nnf8AaPU2+P0fwThdVaLF3TlfXZvUsr63ZIpZY4Y9VDKTWwuIY5vqEe3uXFx+\nSn0XBupy9t+loqDXy1zTJLST7tefJbVDLsjLycwO9Sy/09ANQafUJP8A4IrG\nQGufXltEAjZYPA900kkeCRoXA+sHSeoTXn41xJxnB9bY3e4HRcTbVsfB2h7j\ntDWkkAT7jrPjC9FzCMfpJZU5wDGgN7wNI4HZcJdiNrvP2t+62SNg9vedxnRO\nj2WyQfZy2oOA5kbfGedF0jb8w/Uq2ra/25NcGD9F1dk6/BqrYNODY5rrve4+\n2rGpBcR3Mr0j9iVf83vscD1J3bZMep/NelM+Hsn5oqa3RG0uuf6b9j9dsCRI\n+lx4haGT9g1FgZ6nc0n/AKrSEkko/Kg7vO9XtsxzV+y6a8xjtxu+hWWwPY0f\npBMnv2XN52ZmbyLunYocCZNl1bpdENmS0wOdUkkPsT9rL6rfbf8AnJiPzvT+\nzfpPVrZ6ezb6Ttv0e26OTzC9U3uk+z88ACRu+hz8YSSR6q6P/9k=\n"/> 
    56     <%= @title %></h1> 
    57     </div> 
     43           var toggle = function(el){ 
     44             el = $(el); 
     45             var visible = el.style.display != 'none';  // visible? boolean 
     46             if(visible){ 
     47               el.style.display = 'none'; // hide 
     48             }else{ 
     49               el.style.display = '';  // unhide 
     50             } 
     51           } 
     52           </script> 
     53         </head> 
     54         <body> 
     55           <div> 
     56             <h1><img src="data:image/jpg;base64,/9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAAJQAA/+4ADkFk\nb2JlAGTAAAAAAf/bAIQADQkJCQoJDQoKDRMMCwwTFhENDREWGhUVFhUVGhkU\nFhUVFhQZGR0fIB8dGScnKionJzk4ODg5QEBAQEBAQEBAQAEODAwOEA4RDw8R\nFA4RDhQVERISERUgFRUXFRUgKB0ZGRkZHSgjJiAgICYjLCwoKCwsNzc1NzdA\nQEBAQEBAQEBA/8AAEQgAJgAtAwEiAAIRAQMRAf/EAT8AAAEFAQEBAQEBAAAA\nAAAAAAMAAQIEBQYHCAkKCwEAAQUBAQEBAQEAAAAAAAAAAQACAwQFBgcICQoL\nEAABBAEDAgQCBQcGCAUDDDMBAAIRAwQhEjEFQVFhEyJxgTIGFJGhsUIjJBVS\nwWIzNHKC0UMHJZJT8OHxY3M1FqKygyZEk1RkRcKjdDYX0lXiZfKzhMPTdePz\nRieUpIW0lcTU5PSltcXV5fVWZnaGlqa2xtbm9jdHV2d3h5ent8fX5/cRAAIC\nAQIEBAMEBQYHBwYFNQEAAhEDITESBEFRYXEiEwUygZEUobFCI8FS0fAzJGLh\ncoKSQ1MVY3M08SUGFqKygwcmNcLSRJNUoxdkRVU2dGXi8rOEw9N14/NGlKSF\ntJXE1OT0pbXF1eX1VmZ2hpamtsbW5vYnN0dXZ3eHl6e3x//aAAwDAQACEQMR\nAD8A9OVDK6xRQYa02axuEBvnB7x8Fm/W36x19HqoxmAvyswkMraHFwY2N7va\nCe/5Vy/Seu29RvdXaI2CW6EBw4OhGnZAk9Einrbuvn03Oaw1lvmCCP8ANXPW\n9Zz7shlrM9zKBLnN3Fmg1gnj8An61m14eCbAN9j4ZVWJJc5x2gQPivO3ZnUM\nXLtfY8by73sDmuHw9pPCZRPVNgdH13F+teJU51WbZpX9O4xpPEho4juug9Wr\n0vW3t9Lbv9SRt2xO7dxEL5+blW5I2W2FrdsSJJgdj4r0P1W/+Nf6Un1p9PZJ\nnf8AaPU2+P0fwThdVaLF3TlfXZvUsr63ZIpZY4Y9VDKTWwuIY5vqEe3uXFx+\nSn0XBupy9t+loqDXy1zTJLST7tefJbVDLsjLycwO9Sy/09ANQafUJP8A4IrG\nQGufXltEAjZYPA900kkeCRoXA+sHSeoTXn41xJxnB9bY3e4HRcTbVsfB2h7j\ntDWkkAT7jrPjC9FzCMfpJZU5wDGgN7wNI4HZcJdiNrvP2t+62SNg9vedxnRO\nj2WyQfZy2oOA5kbfGedF0jb8w/Uq2ra/25NcGD9F1dk6/BqrYNODY5rrve4+\n2rGpBcR3Mr0j9iVf83vscD1J3bZMep/NelM+Hsn5oqa3RG0uuf6b9j9dsCRI\n+lx4haGT9g1FgZ6nc0n/AKrSEkko/Kg7vO9XtsxzV+y6a8xjtxu+hWWwPY0f\npBMnv2XN52ZmbyLunYocCZNl1bpdENmS0wOdUkkPsT9rL6rfbf8AnJiPzvT+\nzfpPVrZ6ezb6Ttv0e26OTzC9U3uk+z88ACRu+hz8YSSR6q6P/9k=\n"/> 
     57           <%= @title %></h1> 
     58           </div> 
    5859     
    59     <table class="main"> 
    60       <thead> 
    61         <tr> 
    62           <td class="method">Method</td> 
    63           <td class="line">Line</td>         
    64           <td class="file">File</td> 
    65         </tr> 
    66       </thead> 
    67       <% @backtrace.each do |lines, hash, file, lineno, meth| %> 
    68         <tr id="line_<%= hash %>" onclick="toggle('source_<%= hash %>'); return false"; class="clickable" style="background:rgb(250,250,<%= @colors.shift %>);"> 
    69           <td class="method"><%= meth %></td>           
    70           <td class="line"><%= lineno %></td> 
    71           <td class="file"><%= file %></td>           
    72         </tr> 
    73         <tr id="source_<%= hash %>" <%= @coderay? " class='CodeRay' " : ''%> style="display:none;"> 
    74           <td colspan="3"> 
    75             <div class="source"> 
    76               <table> 
    77                 <tr><td colspan='2'><a href='txmt://open?url=file://<%=file%>&line=<%=lineno%>'>Open in TextMate</a></td></tr> 
    78                 <% lines.each do |llineno, lcode, lcurrent| %> 
    79                   <tr class="source"<%=  'style="background:#faa;"' if lcurrent %>> 
    80                     <td><%= llineno %></td> 
    81                     <td> 
    82                       <%= @coderay ? CodeRay.scan(lcode, :ruby).html : "<pre>\#{lcode}</pre>" %> 
    83                     </td> 
    84                   </tr> 
    85                 <% end %> 
    86               </table> 
    87             </div> 
    88           </td> 
    89         </tr> 
    90       <% end %> 
    91     </table> 
    92   </body> 
    93 </html> 
     60            <table class="main"> 
     61              <thead> 
     62                <tr> 
     63                  <td class="method">Method</td> 
     64                  <td class="line">Line</td>         
     65                  <td class="file">File</td> 
     66                </tr> 
     67              </thead> 
     68              <% @backtrace.each do |lines, hash, file, lineno, meth| %> 
     69                <tr id="line_<%= hash %>" onclick="toggle('source_<%= hash %>'); return false"; class="clickable" style="background:rgb(250,250,<%= @colors.shift %>);"> 
     70                  <td class="method"><%= meth %></td>           
     71                  <td class="line"><%= lineno %></td> 
     72                  <td class="file"><%= file %></td>           
     73                </tr> 
     74                <tr id="source_<%= hash %>" <%= @coderay? " class='CodeRay' " : ''%> style="display:none;"> 
     75                  <td colspan="3"> 
     76                    <div class="source"> 
     77                      <table> 
     78                        <tr><td colspan='2'><a href='txmt://open?url=file://<%=file%>&line=<%=lineno%>'>Open in TextMate</a></td></tr> 
     79                        <% lines.each do |llineno, lcode, lcurrent| %> 
     80                          <tr class="source"<%=  'style="background:#faa;"' if lcurrent %>> 
     81                            <td><%= llineno %></td> 
     82                            <td> 
     83                              <%= @coderay ? CodeRay.scan(lcode, :ruby).html : "<pre>\#{lcode}</pre>" %> 
     84                            </td> 
     85                          </tr> 
     86                        <% end %> 
     87                      </table> 
     88                    </div> 
     89                  </td> 
     90                </tr> 
     91              <% end %> 
     92            </table> 
     93          </body> 
     94        </html> 
     95<% else %> 
     96        <h1>500 Internal Server Error</h1> 
     97<% end %> 
  • apps/merki/trunk/config/merb.yml

    r610 r629  
    1717# which memory store to use. Built-in options are: memory, cookie, or memcache 
    1818#:session_store: sequel 
     19 
     20# A secret key is required when using the 'cookie' session store (default),  
     21# change this value to something unique to your application and keep it private 
     22:session_secret_key: .5498 
    1923 
    2024# Uncomment to use the merb upload progress 
     
    4650# this and :daemonize: at the same time. 
    4751#:cluster: 3 
     52 
     53# Uncomment this if you want to force merb to show full InternalServerError 
     54# details, even when in production mode 
     55#:exception_details: true 
     56 
     57# It is often useful to use a differant layout from 'application' for errors 
     58# set this to the layout template (or :none) that you want to use by default 
     59#:exception_layout: :none 
     60