Sha256: 160431a8ea5c0c2e64f1233aafb45784dcac94e5a349479e97c48ac76ef57243

Contents?: true

Size: 1.39 KB

Versions: 1

Compression:

Stored size: 1.39 KB

Contents

module MainHelper

  JS_ESCAPE_MAP = 
  {
    '\\'    => '\\\\',
    '</'    => '<\/',
    "\r\n"  => '\n',
    "\n"    => '\n',
    "\r"    => '\n',
    '"'     => '\\"',
    "'"     => "\\'" 
  }
  
 helpers do   
   
    def back_paths!
      path_ids   = session[:path_ids]
      path_names = session[:path_names]
      new_path_ids = path_ids.split( "|" )
      new_path_ids.pop
      session[:path_ids] = new_path_ids.join( "|" )
    
      new_path_names = path_names.split( "|" )
      new_path_names.pop
      session[:path_names] = new_path_names.join( "|" )
    end
    
    def title_for( path_names )
      tokens = path_names.split( "|" )
      buff = case tokens.length 
        when 2 : "Environment"
        when 3 : "Database"
        else     "Collection"
      end
      
      buff += " <em>#{tokens.last}</em>"
    end
    
    def display_info( info )
      return info if info.is_a?( String )
      if info.is_a?( Hash )
        @info = info
        partial :dump_hash
      elsif info.is_a?( Array )
        @info = info
        partial :dump_array
      else
        info
      end
    end
    
    def partial( page, options={} )
      erb "_#{page}".to_sym, options.merge!( :layout => false )
    end
   
    def escape_javascript(javascript)
      if javascript
         javascript.gsub(/(\\|<\/|\r\n|[\n\r"'])/) { JS_ESCAPE_MAP[$1] }
      else
         ''
      end
    end
    
  end
  
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
mongo3-0.0.2 lib/helpers/main_helper.rb