document.write("<div class=\"pastie\">\n");
document.write("  <link href=\"http://pastie.org/stylesheets/embed.css\" media=\"screen\" rel=\"stylesheet\" type=\"text/css\" />\n");
document.write("  <link href=\"http://pastie.org/stylesheets/clean.css\" media=\"screen\" rel=\"stylesheet\" type=\"text/css\" />\n");
document.write("  \n");
document.write("\n");
document.write("  \n");
document.write("  	\n");
document.write("	<div class=\"allcode\">\n");
document.write("		<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\">\n");
document.write("		<tr>\n");
document.write("			<td>\n");
document.write("				\n");
document.write("				<pre class=\"textmate-source-numbers\">1\n");
document.write("2\n");
document.write("3\n");
document.write("4\n");
document.write("5\n");
document.write("6\n");
document.write("7\n");
document.write("8\n");
document.write("9\n");
document.write("10\n");
document.write("11\n");
document.write("12\n");
document.write("13\n");
document.write("14\n");
document.write("15\n");
document.write("16\n");
document.write("17\n");
document.write("18\n");
document.write("19\n");
document.write("20\n");
document.write("21\n");
document.write("22\n");
document.write("23\n");
document.write("24\n");
document.write("25\n");
document.write("26\n");
document.write("27\n");
document.write("28\n");
document.write("29\n");
document.write("30\n");
document.write("31\n");
document.write("32\n");
document.write("33\n");
document.write("34\n");
document.write("35\n");
document.write("36\n");
document.write("37\n");
document.write("38\n");
document.write("39\n");
document.write("40\n");
document.write("41\n");
document.write("42\n");
document.write("43\n");
document.write("44\n");
document.write("45\n");
document.write("46\n");
document.write("47\n");
document.write("48\n");
document.write("49\n");
document.write("<\/pre>\n");
document.write("			<\/td>\n");
document.write("		<td>\n");
document.write("		<pre class=\"textmate-source\"><span class=\"source source_ruby source_ruby_rails source_ruby_rails_shoulda\"><span class=\"comment comment_line comment_line_number-sign comment_line_number-sign_ruby\"><span class=\"punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_ruby\">#<\/span>!/usr/bin/env ruby\n");
document.write("<\/span>\n");
document.write("<span class=\"meta meta_require meta_require_ruby\"><span class=\"keyword keyword_other keyword_other_special-method keyword_other_special-method_ruby\">require<\/span> <span class=\"string string_quoted string_quoted_single string_quoted_single_ruby\"><span class=\"punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby\">\'<\/span>rubygems<span class=\"punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby\">\'<\/span><\/span><\/span>\n");
document.write("<span class=\"meta meta_require meta_require_ruby\"><span class=\"keyword keyword_other keyword_other_special-method keyword_other_special-method_ruby\">require<\/span> <span class=\"string string_quoted string_quoted_single string_quoted_single_ruby\"><span class=\"punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby\">\'<\/span>mechanize<span class=\"punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby\">\'<\/span><\/span><\/span>\n");
document.write("\n");
document.write("<span class=\"comment comment_line comment_line_number-sign comment_line_number-sign_ruby\"><span class=\"punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_ruby\">#<\/span> This file is essential to the app.  It used to be in the repo,\n");
document.write("<\/span><span class=\"comment comment_line comment_line_number-sign comment_line_number-sign_ruby\"><span class=\"punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_ruby\">#<\/span> but we decided that each developer should maintain his own,\n");
document.write("<\/span><span class=\"comment comment_line comment_line_number-sign comment_line_number-sign_ruby\"><span class=\"punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_ruby\">#<\/span> so now it is .gitignored.  This means that when we first check\n");
document.write("<\/span><span class=\"comment comment_line comment_line_number-sign comment_line_number-sign_ruby\"><span class=\"punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_ruby\">#<\/span> out an old commit and then a more recent, the file will be\n");
document.write("<\/span><span class=\"comment comment_line comment_line_number-sign comment_line_number-sign_ruby\"><span class=\"punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_ruby\">#<\/span> removed by git.  Hence this code:\n");
document.write("<\/span><span class=\"keyword keyword_control keyword_control_ruby\">unless<\/span> <span class=\"support support_class support_class_ruby\">File<\/span><span class=\"punctuation punctuation_separator punctuation_separator_method punctuation_separator_method_ruby\">.<\/span>exists? <span class=\"string string_quoted string_quoted_double string_quoted_double_ruby\"><span class=\"punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby\">\"<\/span>config/gmaps_api_key.yml<span class=\"punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby\">\"<\/span><\/span>\n");
document.write("  <span class=\"support support_class support_class_ruby\">File<\/span><span class=\"punctuation punctuation_separator punctuation_separator_method punctuation_separator_method_ruby\">.<\/span>open <span class=\"string string_quoted string_quoted_double string_quoted_double_ruby\"><span class=\"punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby\">\"<\/span>config/gmaps_api_key.yml<span class=\"punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby\">\"<\/span><\/span><span class=\"punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby\">,<\/span> <span class=\"string string_quoted string_quoted_double string_quoted_double_ruby\"><span class=\"punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby\">\"<\/span>w<span class=\"punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby\">\"<\/span><\/span> <span class=\"keyword keyword_control keyword_control_start-block keyword_control_start-block_ruby\">do <\/span><span class=\"punctuation punctuation_separator punctuation_separator_variable punctuation_separator_variable_ruby\">|<\/span><span class=\"variable variable_other variable_other_block variable_other_block_ruby\">f<\/span><span class=\"punctuation punctuation_separator punctuation_separator_variable punctuation_separator_variable_ruby\">|<\/span>\n");
document.write("    f<span class=\"punctuation punctuation_separator punctuation_separator_method punctuation_separator_method_ruby\">.<\/span>puts <span class=\"string string_quoted string_quoted_double string_quoted_double_ruby\"><span class=\"punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby\">\"<\/span>development: ABQIAAAAKTaV4...<span class=\"punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby\">\"<\/span><\/span>\n");
document.write("  <span class=\"keyword keyword_control keyword_control_ruby\">end<\/span>\n");
document.write("<span class=\"keyword keyword_control keyword_control_ruby\">end<\/span>\n");
document.write("\n");
document.write("child_pid <span class=\"keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby\">=<\/span> fork <span class=\"keyword keyword_control keyword_control_start-block keyword_control_start-block_ruby\">do\n");
document.write("<\/span><span class=\"comment comment_line comment_line_number-sign comment_line_number-sign_ruby\">  <span class=\"punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_ruby\">#<\/span> exec *replaces* one process with another, keeping the pid.\n");
document.write("<\/span>  exec <span class=\"string string_quoted string_quoted_double string_quoted_double_ruby\"><span class=\"punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby\">\"<\/span>script/server<span class=\"punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby\">\"<\/span><\/span>\n");
document.write("<span class=\"comment comment_line comment_line_number-sign comment_line_number-sign_ruby\">  <span class=\"punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_ruby\">#<\/span> Child never gets here.\n");
document.write("<\/span><span class=\"keyword keyword_control keyword_control_ruby\">end<\/span>\n");
document.write("\n");
document.write("<span class=\"comment comment_line comment_line_number-sign comment_line_number-sign_ruby\"><span class=\"punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_ruby\">#<\/span> Only in parent\n");
document.write("<\/span>happy <span class=\"keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby\">=<\/span> <span class=\"constant constant_language constant_language_ruby\">nil<\/span>\n");
document.write("<span class=\"keyword keyword_control keyword_control_ruby\">begin<\/span>\n");
document.write("  sleep <span class=\"constant constant_numeric constant_numeric_ruby\">10<\/span> <span class=\"comment comment_line comment_line_number-sign comment_line_number-sign_ruby\"><span class=\"punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_ruby\">#<\/span> To let server start. Adjust to your needs.\n");
document.write("<\/span>  a <span class=\"keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby\">=<\/span> <span class=\"support support_class support_class_ruby\">WWW<\/span><span class=\"punctuation punctuation_separator punctuation_separator_other punctuation_separator_other_ruby\">::<\/span><span class=\"support support_class support_class_ruby\">Mechanize<\/span><span class=\"punctuation punctuation_separator punctuation_separator_method punctuation_separator_method_ruby\">.<\/span><span class=\"keyword keyword_other keyword_other_special-method keyword_other_special-method_ruby\">new<\/span>\n");
document.write("  a<span class=\"punctuation punctuation_separator punctuation_separator_method punctuation_separator_method_ruby\">.<\/span>get<span class=\"punctuation punctuation_section punctuation_section_function punctuation_section_function_ruby\">(<\/span><span class=\"string string_quoted string_quoted_single string_quoted_single_ruby\"><span class=\"punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby\">\'<\/span>http://localhost:3000/logga-in<span class=\"punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby\">\'<\/span><\/span><span class=\"punctuation punctuation_section punctuation_section_function punctuation_section_function_ruby\">)<\/span> <span class=\"keyword keyword_control keyword_control_start-block keyword_control_start-block_ruby\">do <\/span><span class=\"punctuation punctuation_separator punctuation_separator_variable punctuation_separator_variable_ruby\">|<\/span><span class=\"variable variable_other variable_other_block variable_other_block_ruby\">page<\/span><span class=\"punctuation punctuation_separator punctuation_separator_variable punctuation_separator_variable_ruby\">|<\/span>\n");
document.write("    login_result <span class=\"keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby\">=<\/span> page<span class=\"punctuation punctuation_separator punctuation_separator_method punctuation_separator_method_ruby\">.<\/span>form_with<span class=\"punctuation punctuation_section punctuation_section_function punctuation_section_function_ruby\">(<\/span><span class=\"constant constant_other constant_other_symbol constant_other_symbol_ruby\"><span class=\"punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby\">:<\/span>action<\/span> <span class=\"punctuation punctuation_separator punctuation_separator_key-value\">=&gt;<\/span> <span class=\"string string_quoted string_quoted_single string_quoted_single_ruby\"><span class=\"punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby\">\'<\/span>/login<span class=\"punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby\">\'<\/span><\/span><span class=\"punctuation punctuation_section punctuation_section_function punctuation_section_function_ruby\">)<\/span> <span class=\"keyword keyword_control keyword_control_start-block keyword_control_start-block_ruby\">do <\/span><span class=\"punctuation punctuation_separator punctuation_separator_variable punctuation_separator_variable_ruby\">|<\/span><span class=\"variable variable_other variable_other_block variable_other_block_ruby\">login<\/span><span class=\"punctuation punctuation_separator punctuation_separator_variable punctuation_separator_variable_ruby\">|<\/span>\n");
document.write("      login<span class=\"punctuation punctuation_section punctuation_section_array punctuation_section_array_ruby\">[<\/span><span class=\"string string_quoted string_quoted_double string_quoted_double_ruby\"><span class=\"punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby\">\"<\/span>user_session[email]<span class=\"punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby\">\"<\/span><\/span><span class=\"punctuation punctuation_section punctuation_section_array punctuation_section_array_ruby\">]<\/span> <span class=\"keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby\">=<\/span> <span class=\"string string_quoted string_quoted_double string_quoted_double_ruby\"><span class=\"punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby\">\"<\/span>david@icehouse.se<span class=\"punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby\">\"<\/span><\/span>\n");
document.write("      login<span class=\"punctuation punctuation_section punctuation_section_array punctuation_section_array_ruby\">[<\/span><span class=\"string string_quoted string_quoted_double string_quoted_double_ruby\"><span class=\"punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby\">\"<\/span>user_session[password]<span class=\"punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby\">\"<\/span><\/span><span class=\"punctuation punctuation_section punctuation_section_array punctuation_section_array_ruby\">]<\/span> <span class=\"keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby\">=<\/span> <span class=\"string string_quoted string_quoted_double string_quoted_double_ruby\"><span class=\"punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby\">\"<\/span>sikrit<span class=\"punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby\">\"<\/span><\/span>\n");
document.write("    <span class=\"keyword keyword_control keyword_control_ruby\">end<\/span><span class=\"punctuation punctuation_separator punctuation_separator_method punctuation_separator_method_ruby\">.<\/span>submit\n");
document.write("\n");
document.write("<span class=\"comment comment_line comment_line_number-sign comment_line_number-sign_ruby\">    <span class=\"punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_ruby\">#<\/span> If the resulting page has a login form, the login is broken\n");
document.write("<\/span>    login_result<span class=\"punctuation punctuation_separator punctuation_separator_method punctuation_separator_method_ruby\">.<\/span>form_with<span class=\"punctuation punctuation_section punctuation_section_function punctuation_section_function_ruby\">(<\/span><span class=\"constant constant_other constant_other_symbol constant_other_symbol_ruby\"><span class=\"punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby\">:<\/span>action<\/span> <span class=\"punctuation punctuation_separator punctuation_separator_key-value\">=&gt;<\/span> <span class=\"string string_quoted string_quoted_single string_quoted_single_ruby\"><span class=\"punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby\">\'<\/span>/login<span class=\"punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby\">\'<\/span><\/span><span class=\"punctuation punctuation_section punctuation_section_function punctuation_section_function_ruby\">)<\/span> <span class=\"keyword keyword_control keyword_control_start-block keyword_control_start-block_ruby\">do <\/span><span class=\"punctuation punctuation_separator punctuation_separator_variable punctuation_separator_variable_ruby\">|<\/span><span class=\"variable variable_other variable_other_block variable_other_block_ruby\">form<\/span><span class=\"punctuation punctuation_separator punctuation_separator_variable punctuation_separator_variable_ruby\">|<\/span>\n");
document.write("      happy <span class=\"keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby\">=<\/span> form<span class=\"punctuation punctuation_separator punctuation_separator_method punctuation_separator_method_ruby\">.<\/span>nil?\n");
document.write("    <span class=\"keyword keyword_control keyword_control_ruby\">end<\/span>\n");
document.write("  <span class=\"keyword keyword_control keyword_control_ruby\">end<\/span>\n");
document.write("<span class=\"keyword keyword_control keyword_control_ruby\">ensure<\/span>\n");
document.write("  <span class=\"support support_class support_class_ruby\">Process<\/span><span class=\"punctuation punctuation_separator punctuation_separator_method punctuation_separator_method_ruby\">.<\/span>kill <span class=\"string string_quoted string_quoted_double string_quoted_double_ruby\"><span class=\"punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby\">\"<\/span>INT<span class=\"punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby\">\"<\/span><\/span><span class=\"punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby\">,<\/span> child_pid\n");
document.write("  puts <span class=\"string string_quoted string_quoted_double string_quoted_double_ruby\"><span class=\"punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby\">\"<\/span>waiting<span class=\"punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby\">\"<\/span><\/span>\n");
document.write("  <span class=\"support support_class support_class_ruby\">Process<\/span><span class=\"punctuation punctuation_separator punctuation_separator_method punctuation_separator_method_ruby\">.<\/span>wait child_pid\n");
document.write("  puts <span class=\"string string_quoted string_quoted_double string_quoted_double_ruby\"><span class=\"punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby\">\"<\/span>child is gone<span class=\"punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby\">\"<\/span><\/span>\n");
document.write("<span class=\"keyword keyword_control keyword_control_ruby\">end<\/span>\n");
document.write("\n");
document.write("puts <span class=\"string string_quoted string_quoted_double string_quoted_double_ruby\"><span class=\"punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby\">\"<\/span>Never set status<span class=\"punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby\">\"<\/span><\/span> <span class=\"keyword keyword_control keyword_control_ruby\">if<\/span> happy<span class=\"punctuation punctuation_separator punctuation_separator_method punctuation_separator_method_ruby\">.<\/span>nil?\n");
document.write("status <span class=\"keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby\">=<\/span> happy <span class=\"keyword keyword_operator keyword_operator_comparison keyword_operator_comparison_ruby\">?<\/span> <span class=\"constant constant_numeric constant_numeric_ruby\">0<\/span> <span class=\"punctuation punctuation_separator punctuation_separator_other punctuation_separator_other_ruby\">:<\/span> <span class=\"constant constant_numeric constant_numeric_ruby\">1<\/span>\n");
document.write("puts <span class=\"string string_quoted string_quoted_double string_quoted_double_ruby\"><span class=\"punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby\">\"<\/span>Exit status <span class=\"source source_ruby source_ruby_embedded source_ruby_embedded_source\"><span class=\"punctuation punctuation_section punctuation_section_embedded punctuation_section_embedded_ruby\">#{<\/span>status<span class=\"punctuation punctuation_section punctuation_section_embedded punctuation_section_embedded_ruby\">}<\/span><\/span><span class=\"punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby\">\"<\/span><\/span>\n");
document.write("exit status\n");
document.write("<\/span><\/pre>\n");
document.write("		<\/td>\n");
document.write("		<\/tr>\n");
document.write("		<\/table>\n");
document.write("	\n");
document.write("	<\/div>\n");
document.write("\n");
document.write("  \n");
document.write("  \n");
document.write("  <div class=\"credit\">\n");
document.write("    <div class=\"buttons\">\n");
document.write("      <a href=\"http://pastie.org/pastes/437749.txt\">\n");
document.write("      <img src=\"http://pastie.org/images/view.png\" height=\"20\" width=\"67\" /><\/a>\n");
document.write("    <\/div>\n");
document.write("  \n");
document.write("    <a href=\"http://pastie.org/437749\">Pastie #437749<\/a> linked directly from <a href=\"http://pastie.org/\">Pastie<\/a>.\n");
document.write("  <\/div><\/div>");
