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("\n");
document.write("\n");
document.write("\n");
document.write("\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("50\n");
document.write("51\n");
document.write("52\n");
document.write("53\n");
document.write("54\n");
document.write("55\n");
document.write("56\n");
document.write("57\n");
document.write("58\n");
document.write("59\n");
document.write("60\n");
document.write("61\n");
document.write("62\n");
document.write("63\n");
document.write("64\n");
document.write("65\n");
document.write("66\n");
document.write("67\n");
document.write("68\n");
document.write("69\n");
document.write("70\n");
document.write("71\n");
document.write("72\n");
document.write("73\n");
document.write("74\n");
document.write("75\n");
document.write("76\n");
document.write("77\n");
document.write("78\n");
document.write("79\n");
document.write("80\n");
document.write("81\n");
document.write("82\n");
document.write("83\n");
document.write("84\n");
document.write("85\n");
document.write("86\n");
document.write("87\n");
document.write("88\n");
document.write("89\n");
document.write("90\n");
document.write("91\n");
document.write("92\n");
document.write("93\n");
document.write("94\n");
document.write("95\n");
document.write("96\n");
document.write("97\n");
document.write("98\n");
document.write("99\n");
document.write("100\n");
document.write("101\n");
document.write("102\n");
document.write("103\n");
document.write("104\n");
document.write("105\n");
document.write("106\n");
document.write("107\n");
document.write("108\n");
document.write("109\n");
document.write("110\n");
document.write("111\n");
document.write("112\n");
document.write("113\n");
document.write("114\n");
document.write("115\n");
document.write("116\n");
document.write("117\n");
document.write("118\n");
document.write("119\n");
document.write("120\n");
document.write("121\n");
document.write("122\n");
document.write("123\n");
document.write("124\n");
document.write("125\n");
document.write("126\n");
document.write("127\n");
document.write("128\n");
document.write("129\n");
document.write("130\n");
document.write("131\n");
document.write("132\n");
document.write("133\n");
document.write("134\n");
document.write("135\n");
document.write("136\n");
document.write("137\n");
document.write("138\n");
document.write("139\n");
document.write("140\n");
document.write("141\n");
document.write("142\n");
document.write("143\n");
document.write("144\n");
document.write("145\n");
document.write("146\n");
document.write("147\n");
document.write("148\n");
document.write("149\n");
document.write("150\n");
document.write("151\n");
document.write("152\n");
document.write("153\n");
document.write("154\n");
document.write("155\n");
document.write("156\n");
document.write("157\n");
document.write("158\n");
document.write("159\n");
document.write("160\n");
document.write("161\n");
document.write("162\n");
document.write("163\n");
document.write("164\n");
document.write("165\n");
document.write("166\n");
document.write("167\n");
document.write("168\n");
document.write("169\n");
document.write("170\n");
document.write("171\n");
document.write("172\n");
document.write("173\n");
document.write("174\n");
document.write("175\n");
document.write("176\n");
document.write("177\n");
document.write("178\n");
document.write("179\n");
document.write("180\n");
document.write("181\n");
document.write("182\n");
document.write("183\n");
document.write("184\n");
document.write("185\n");
document.write("186\n");
document.write("187\n");
document.write("188\n");
document.write("189\n");
document.write("190\n");
document.write("191\n");
document.write("192\n");
document.write("193\n");
document.write("194\n");
document.write("195\n");
document.write("196\n");
document.write("197\n");
document.write("198\n");
document.write("199\n");
document.write("200\n");
document.write("201\n");
document.write("202\n");
document.write("203\n");
document.write("204\n");
document.write("205\n");
document.write("206\n");
document.write("207\n");
document.write("208\n");
document.write("209\n");
document.write("210\n");
document.write("211\n");
document.write("212\n");
document.write("213\n");
document.write("214\n");
document.write("215\n");
document.write("216\n");
document.write("217\n");
document.write("218\n");
document.write("219\n");
document.write("220\n");
document.write("221\n");
document.write("222\n");
document.write("223\n");
document.write("224\n");
document.write("225\n");
document.write("226\n");
document.write("227\n");
document.write("228\n");
document.write("229\n");
document.write("230\n");
document.write("231\n");
document.write("232\n");
document.write("233\n");
document.write("234\n");
document.write("235\n");
document.write("236\n");
document.write("237\n");
document.write("238\n");
document.write("239\n");
document.write("240\n");
document.write("241\n");
document.write("242\n");
document.write("243\n");
document.write("244\n");
document.write("245\n");
document.write("246\n");
document.write("247\n");
document.write("248\n");
document.write("249\n");
document.write("250\n");
document.write("251\n");
document.write("252\n");
document.write("253\n");
document.write("254\n");
document.write("255\n");
document.write("256\n");
document.write("257\n");
document.write("258\n");
document.write("259\n");
document.write("260\n");
document.write("261\n");
document.write("262\n");
document.write("263\n");
document.write("264\n");
document.write("265\n");
document.write("266\n");
document.write("267\n");
document.write("268\n");
document.write("269\n");
document.write("270\n");
document.write("271\n");
document.write("272\n");
document.write("273\n");
document.write("274\n");
document.write("275\n");
document.write("276\n");
document.write("277\n");
document.write("278\n");
document.write("279\n");
document.write("280\n");
document.write("281\n");
document.write("282\n");
document.write("283\n");
document.write("284\n");
document.write("285\n");
document.write("286\n");
document.write("287\n");
document.write("288\n");
document.write("289\n");
document.write("290\n");
document.write("291\n");
document.write("292\n");
document.write("293\n");
document.write("294\n");
document.write("295\n");
document.write("296\n");
document.write("297\n");
document.write("298\n");
document.write("299\n");
document.write("300\n");
document.write("301\n");
document.write("302\n");
document.write("303\n");
document.write("304\n");
document.write("305\n");
document.write("306\n");
document.write("307\n");
document.write("308\n");
document.write("309\n");
document.write("310\n");
document.write("311\n");
document.write("312\n");
document.write("313\n");
document.write("314\n");
document.write("315\n");
document.write("316\n");
document.write("317\n");
document.write("318\n");
document.write("319\n");
document.write("320\n");
document.write("321\n");
document.write("322\n");
document.write("323\n");
document.write("324\n");
document.write("325\n");
document.write("326\n");
document.write("327\n");
document.write("328\n");
document.write("329\n");
document.write("330\n");
document.write("331\n");
document.write("332\n");
document.write("333\n");
document.write("334\n");
document.write("335\n");
document.write("336\n");
document.write("337\n");
document.write("338\n");
document.write("339\n");
document.write("340\n");
document.write("341\n");
document.write("342\n");
document.write("343\n");
document.write("344\n");
document.write("345\n");
document.write("346\n");
document.write("347\n");
document.write("348\n");
document.write("349\n");
document.write("350\n");
document.write("<\/pre>\n");
document.write("			<\/td>\n");
document.write("		<td>\n");
document.write("		<pre class=\"textmate-source\"><pre class=\"sunburst\"><span class=\'variable variable_other variable_other_constant variable_other_constant_ruby\'>To<\/span> <span class=\'variable variable_other variable_other_constant variable_other_constant_ruby\'>Install<\/span>:\n");
document.write("\n");
document.write("sudo gem install validatable\n");
document.write("\n");
document.write("<span class=\'variable variable_other variable_other_constant variable_other_constant_ruby\'>Add<\/span> to your environment<span class=\'meta meta_function-call meta_function-call_method meta_function-call_method_without-arguments meta_function-call_method_without-arguments_ruby\'>.<span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>rb<\/span><\/span> file:\n");
document.write("\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_double string_quoted_double_ruby\'>&quot;validatable&quot;<\/span><\/span>\n");
document.write("\n");
document.write("<span class=\'variable variable_other variable_other_constant variable_other_constant_ruby\'>Controller<\/span>\n");
document.write("\n");
document.write("<span class=\'meta meta_rails meta_rails_controller\'><span class=\'meta meta_class meta_class_ruby\'><span class=\'keyword keyword_control keyword_control_class keyword_control_class_ruby\'>class<\/span> <span class=\'entity entity_name entity_name_type entity_name_type_class entity_name_type_class_ruby\'>ContactsController<span class=\'entity entity_other entity_other_inherited-class entity_other_inherited-class_ruby\'> &lt; ApplicationController<\/span><\/span><\/span>\n");
document.write("  <span class=\'support support_function support_function_actionpack support_function_actionpack_rails\'>layout<\/span>  <span class=\'string string_quoted string_quoted_single string_quoted_single_ruby\'>\'site\'<\/span>\n");
document.write("\n");
document.write("  <span class=\'meta meta_function meta_function_method meta_function_method_without-arguments meta_function_method_without-arguments_ruby\'><span class=\'keyword keyword_control keyword_control_def keyword_control_def_ruby\'>def<\/span> <span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>new<\/span><\/span>\n");
document.write("    <span class=\'variable variable_other variable_other_readwrite variable_other_readwrite_instance variable_other_readwrite_instance_ruby\'>@title<\/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\'>&quot;Contact&quot;<\/span>\n");
document.write("    <span class=\'variable variable_other variable_other_readwrite variable_other_readwrite_instance variable_other_readwrite_instance_ruby\'>@contact<\/span> <span class=\'keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby\'>=<\/span> <span class=\'support support_class support_class_ruby\'>Contact<\/span><span class=\'meta meta_function-call meta_function-call_method meta_function-call_method_without-arguments meta_function-call_method_without-arguments_ruby\'>.<span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>new<\/span><\/span>  \n");
document.write("  <span class=\'keyword keyword_control keyword_control_ruby\'>end<\/span>\n");
document.write("\n");
document.write("  <span class=\'meta meta_function meta_function_method meta_function_method_without-arguments meta_function_method_without-arguments_ruby\'><span class=\'keyword keyword_control keyword_control_def keyword_control_def_ruby\'>def<\/span> <span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>create<\/span><\/span>\n");
document.write("    <span class=\'variable variable_other variable_other_readwrite variable_other_readwrite_instance variable_other_readwrite_instance_ruby\'>@title<\/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\'>&quot;Contact&quot;<\/span> \n");
document.write("    <span class=\'variable variable_other variable_other_readwrite variable_other_readwrite_instance variable_other_readwrite_instance_ruby\'>@contact<\/span> <span class=\'keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby\'>=<\/span> <span class=\'support support_class support_class_ruby\'>Contact<\/span><span class=\'meta meta_function-call meta_function-call_method meta_function-call_method_without-arguments meta_function-call_method_without-arguments_ruby\'>.<span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>new<\/span><\/span> params[<span class=\'constant constant_other constant_other_symbol constant_other_symbol_ruby\'>:contact<\/span>]\n");
document.write("    <span class=\'keyword keyword_control keyword_control_ruby\'>if<\/span> <span class=\'variable variable_other variable_other_readwrite variable_other_readwrite_instance variable_other_readwrite_instance_ruby\'>@contact<\/span><span class=\'meta meta_function-call meta_function-call_method meta_function-call_method_without-arguments meta_function-call_method_without-arguments_ruby\'>.<span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>valid?<\/span><\/span>\n");
document.write("      <span class=\'variable variable_other variable_other_readwrite variable_other_readwrite_instance variable_other_readwrite_instance_ruby\'>@contact<\/span><span class=\'meta meta_function-call meta_function-call_method meta_function-call_method_without-arguments meta_function-call_method_without-arguments_ruby\'>.<span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>deliver<\/span><\/span>\n");
document.write("      flash[<span class=\'constant constant_other constant_other_symbol constant_other_symbol_ruby\'>:notice<\/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\'>&quot;Contact Message Sent&quot;<\/span>\n");
document.write("      <span class=\'support support_function support_function_actionpack support_function_actionpack_rails\'>redirect_to<\/span> root_url\n");
document.write("    <span class=\'keyword keyword_control keyword_control_ruby\'>else<\/span>\n");
document.write("      <span class=\'support support_function support_function_actionpack support_function_actionpack_rails\'>render<\/span> <span class=\'constant constant_other constant_other_symbol constant_other_symbol_ruby\'>:action<\/span> =&gt; <span class=\'string string_quoted string_quoted_single string_quoted_single_ruby\'>\'new\'<\/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("<\/span><span class=\'keyword keyword_control keyword_control_ruby\'>end<\/span>\n");
document.write("\n");
document.write("<span class=\'variable variable_other variable_other_constant variable_other_constant_ruby\'>Helper<\/span>\n");
document.write("\n");
document.write("<span class=\'meta meta_rails meta_rails_helper\'><span class=\'meta meta_module meta_module_ruby\'><span class=\'keyword keyword_control keyword_control_module keyword_control_module_ruby\'>module<\/span> <span class=\'entity entity_name entity_name_type entity_name_type_module entity_name_type_module_ruby\'>ContactHelper<\/span><\/span>\n");
document.write("  <span class=\'meta meta_function meta_function_method meta_function_method_with-arguments meta_function_method_with-arguments_ruby\'><span class=\'keyword keyword_control keyword_control_def keyword_control_def_ruby\'>def<\/span> <span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>error_messages_for_attribute<\/span>(<span class=\'variable variable_parameter variable_parameter_function variable_parameter_function_ruby\'>object, attribute<\/span>)<\/span>\n");
document.write("    <span class=\'keyword keyword_control keyword_control_ruby\'>if<\/span> object<span class=\'meta meta_function-call meta_function-call_method meta_function-call_method_without-arguments meta_function-call_method_without-arguments_ruby\'>.<span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>errors<\/span><\/span><span class=\'meta meta_function-call meta_function-call_method meta_function-call_method_with-arguments meta_function-call_method_with-arguments_ruby\'>.<span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>on<\/span><\/span>(attribute)\n");
document.write("      html <span class=\'keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby\'>=<\/span> <span class=\'string string_quoted string_quoted_single string_quoted_single_ruby\'>\'&lt;small class=&quot;errors&quot;&gt;&lt;ul&gt;\'<\/span>\n");
document.write("      object<span class=\'meta meta_function-call meta_function-call_method meta_function-call_method_without-arguments meta_function-call_method_without-arguments_ruby\'>.<span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>errors<\/span><\/span><span class=\'meta meta_function-call meta_function-call_method meta_function-call_method_with-arguments meta_function-call_method_with-arguments_ruby\'>.<span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>on<\/span><\/span>(attribute)<span class=\'meta meta_function-call meta_function-call_method meta_function-call_method_without-arguments meta_function-call_method_without-arguments_ruby\'>.<span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>each<\/span><\/span> <span class=\'keyword keyword_control keyword_control_ruby keyword_control_ruby_start-block\'>do <\/span>|<span class=\'variable variable_other variable_other_block variable_other_block_ruby\'>message<\/span>|\n");
document.write("        html <span class=\'keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_augmented keyword_operator_assignment_augmented_ruby\'>+=<\/span> <span class=\'string string_quoted string_quoted_double string_quoted_double_ruby\'>&quot;&lt;li&gt;&quot;<\/span> <span class=\'keyword keyword_operator keyword_operator_arithmetic keyword_operator_arithmetic_ruby\'>+<\/span> message <span class=\'keyword keyword_operator keyword_operator_arithmetic keyword_operator_arithmetic_ruby\'>+<\/span> <span class=\'string string_quoted string_quoted_double string_quoted_double_ruby\'>&quot;&lt;/li&gt;&quot;<\/span>\n");
document.write("      <span class=\'keyword keyword_control keyword_control_ruby\'>end<\/span>\n");
document.write("      html <span class=\'keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_augmented keyword_operator_assignment_augmented_ruby\'>+=<\/span> <span class=\'string string_quoted string_quoted_double string_quoted_double_ruby\'>&quot;&lt;/ul&gt;&lt;/small&gt;&quot;<\/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("<\/span><span class=\'keyword keyword_control keyword_control_ruby\'>end<\/span>\n");
document.write("\n");
document.write("<span class=\'variable variable_other variable_other_constant variable_other_constant_ruby\'>Model<\/span>\n");
document.write("\n");
document.write("<span class=\'meta meta_class meta_class_ruby\'><span class=\'keyword keyword_control keyword_control_class keyword_control_class_ruby\'>class<\/span> <span class=\'entity entity_name entity_name_type entity_name_type_class entity_name_type_class_ruby\'>Contact<\/span><\/span>\n");
document.write("<span class=\'comment comment_line comment_line_number-sign comment_line_number-sign_ruby\'>  # self is the class<\/span>\n");
document.write("  <span class=\'keyword keyword_other keyword_other_special-method keyword_other_special-method_ruby\'>include<\/span> <span class=\'variable variable_other variable_other_constant variable_other_constant_ruby\'>Validatable<\/span>\n");
document.write("\n");
document.write("  <span class=\'keyword keyword_other keyword_other_special-method keyword_other_special-method_ruby\'>attr_accessor<\/span> <span class=\'constant constant_other constant_other_symbol constant_other_symbol_ruby\'>:name<\/span>, <span class=\'constant constant_other constant_other_symbol constant_other_symbol_ruby\'>:email<\/span>, <span class=\'constant constant_other constant_other_symbol constant_other_symbol_ruby\'>:phone<\/span>, <span class=\'constant constant_other constant_other_symbol constant_other_symbol_ruby\'>:message<\/span>\n");
document.write("\n");
document.write("  <span class=\'support support_function support_function_activerecord support_function_activerecord_rails\'>validates_presence_of<\/span> <span class=\'constant constant_other constant_other_symbol constant_other_symbol_ruby\'>:name<\/span>, <span class=\'constant constant_other constant_other_symbol constant_other_symbol_ruby\'>:message<\/span> =&gt; <span class=\'string string_quoted string_quoted_double string_quoted_double_ruby\'>&quot;Name is required.&quot;<\/span>\n");
document.write("  <span class=\'support support_function support_function_activerecord support_function_activerecord_rails\'>validates_format_of<\/span> <span class=\'constant constant_other constant_other_symbol constant_other_symbol_ruby\'>:email<\/span>, <span class=\'constant constant_other constant_other_symbol constant_other_symbol_ruby\'>:with<\/span> =&gt; <span class=\'string string_regexp string_regexp_classic string_regexp_classic_ruby\'>/<\/span><span class=\'string string_regexp string_regexp_classic string_regexp_classic_ruby\'>^<span class=\'string string_regexp string_regexp_character-class string_regexp_character-class_ruby\'>[A-Z0-9._%+-]<\/span>+@<span class=\'string string_regexp string_regexp_character-class string_regexp_character-class_ruby\'>[A-Z0-9.-]<\/span>+<span class=\'constant constant_character constant_character_escape constant_character_escape_ruby\'>\\.<\/span><span class=\'string string_regexp string_regexp_character-class string_regexp_character-class_ruby\'>[A-Z]<\/span><span class=\'string string_regexp string_regexp_arbitrary-repitition string_regexp_arbitrary-repitition_ruby\'>{2,4}<\/span>$<\/span><span class=\'string string_regexp string_regexp_classic string_regexp_classic_ruby\'>/i<\/span>,\n");
document.write("    <span class=\'constant constant_other constant_other_symbol constant_other_symbol_ruby\'>:message<\/span> =&gt; <span class=\'string string_quoted string_quoted_double string_quoted_double_ruby\'>&quot;Email is not valid.&quot;<\/span>\n");
document.write("  <span class=\'support support_function support_function_activerecord support_function_activerecord_rails\'>validates_format_of<\/span> <span class=\'constant constant_other constant_other_symbol constant_other_symbol_ruby\'>:phone<\/span>, <span class=\'constant constant_other constant_other_symbol constant_other_symbol_ruby\'>:with<\/span> =&gt; <span class=\'string string_regexp string_regexp_classic string_regexp_classic_ruby\'>/<\/span><span class=\'string string_regexp string_regexp_classic string_regexp_classic_ruby\'>^<span class=\'string string_regexp string_regexp_character-class string_regexp_character-class_ruby\'>[0-9]<\/span><span class=\'string string_regexp string_regexp_arbitrary-repitition string_regexp_arbitrary-repitition_ruby\'>{3,3}<\/span>-<span class=\'string string_regexp string_regexp_character-class string_regexp_character-class_ruby\'>[0-9]<\/span><span class=\'string string_regexp string_regexp_arbitrary-repitition string_regexp_arbitrary-repitition_ruby\'>{3,3}<\/span>-<span class=\'string string_regexp string_regexp_character-class string_regexp_character-class_ruby\'>[0-9]<\/span><span class=\'string string_regexp string_regexp_arbitrary-repitition string_regexp_arbitrary-repitition_ruby\'>{4,4}<\/span>$<\/span><span class=\'string string_regexp string_regexp_classic string_regexp_classic_ruby\'>/<\/span>,\n");
document.write("    <span class=\'constant constant_other constant_other_symbol constant_other_symbol_ruby\'>:message<\/span> =&gt; <span class=\'string string_quoted string_quoted_double string_quoted_double_ruby\'>&quot;Phone number is not valid (xxx-xxx-xxxx).&quot;<\/span>\n");
document.write("  <span class=\'support support_function support_function_activerecord support_function_activerecord_rails\'>validates_presence_of<\/span> <span class=\'constant constant_other constant_other_symbol constant_other_symbol_ruby\'>:message<\/span>, <span class=\'constant constant_other constant_other_symbol constant_other_symbol_ruby\'>:message<\/span> =&gt; <span class=\'string string_quoted string_quoted_double string_quoted_double_ruby\'>&quot;Name is required.&quot;<\/span>\n");
document.write("\n");
document.write("<span class=\'meta meta_rails meta_rails_controller\'>  <span class=\'keyword keyword_control keyword_control_ruby\'>class<\/span> <span class=\'keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_augmented keyword_operator_assignment_augmented_ruby\'>&lt;&lt;<\/span> <span class=\'variable variable_language variable_language_ruby\'>self<\/span>\n");
document.write("    <span class=\'keyword keyword_control keyword_control_pseudo-method keyword_control_pseudo-method_ruby\'>alias_method<\/span> <span class=\'constant constant_other constant_other_symbol constant_other_symbol_ruby\'>:new_without_params<\/span>, <span class=\'constant constant_other constant_other_symbol constant_other_symbol_ruby\'>:new<\/span>\n");
document.write("    <span class=\'meta meta_function meta_function_method meta_function_method_without-arguments meta_function_method_without-arguments_ruby\'><span class=\'keyword keyword_control keyword_control_def keyword_control_def_ruby\'>def<\/span> <span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>new<\/span><\/span> params <span class=\'keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby\'>=<\/span>{}\n");
document.write("      returning new_without_params <span class=\'keyword keyword_control keyword_control_ruby keyword_control_ruby_start-block\'>do <\/span>|<span class=\'variable variable_other variable_other_block variable_other_block_ruby\'>contact<\/span>|\n");
document.write("        params<span class=\'meta meta_function-call meta_function-call_method meta_function-call_method_without-arguments meta_function-call_method_without-arguments_ruby\'>.<span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>each_pair<\/span><\/span> <span class=\'keyword keyword_control keyword_control_ruby keyword_control_ruby_start-block\'>do <\/span>|<span class=\'variable variable_other variable_other_block variable_other_block_ruby\'>key<\/span>,<span class=\'variable variable_other variable_other_block variable_other_block_ruby\'>value<\/span>|\n");
document.write("          contact<span class=\'meta meta_function-call meta_function-call_method meta_function-call_method_without-arguments meta_function-call_method_without-arguments_ruby\'>.<span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>send<\/span><\/span> <span class=\'string string_quoted string_quoted_double string_quoted_double_ruby\'>&quot;<span class=\'source source_ruby source_ruby_embedded source_ruby_embedded_source\'>#{key}<\/span>=&quot;<\/span>, value\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\'>end<\/span>\n");
document.write("  <\/span><span class=\'keyword keyword_control keyword_control_ruby\'>end<\/span>\n");
document.write("\n");
document.write("  <span class=\'meta meta_function meta_function_method meta_function_method_with-arguments meta_function_method_with-arguments_ruby\'><span class=\'keyword keyword_control keyword_control_def keyword_control_def_ruby\'>def<\/span> <span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>phone=<\/span>(<span class=\'variable variable_parameter variable_parameter_function variable_parameter_function_ruby\'>phone<\/span>)<\/span>\n");
document.write("<span class=\'comment comment_line comment_line_number-sign comment_line_number-sign_ruby\'>    # self is the object<\/span>\n");
document.write("    <span class=\'variable variable_other variable_other_readwrite variable_other_readwrite_instance variable_other_readwrite_instance_ruby\'>@phone<\/span> <span class=\'keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby\'>=<\/span> phone<span class=\'meta meta_function-call meta_function-call_method meta_function-call_method_with-arguments meta_function-call_method_with-arguments_ruby\'>.<span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>gsub<\/span><\/span>(<span class=\'string string_regexp string_regexp_classic string_regexp_classic_ruby\'>/<\/span><span class=\'string string_regexp string_regexp_classic string_regexp_classic_ruby\'><span class=\'string string_regexp string_regexp_character-class string_regexp_character-class_ruby\'>[^0-9]<\/span><\/span><span class=\'string string_regexp string_regexp_classic string_regexp_classic_ruby\'>/<\/span>, <span class=\'string string_quoted string_quoted_double string_quoted_double_ruby\'>&quot;&quot;<\/span>)<span class=\'meta meta_function-call meta_function-call_method meta_function-call_method_with-arguments meta_function-call_method_with-arguments_ruby\'>.<span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>gsub<\/span><\/span>(<span class=\'string string_regexp string_regexp_classic string_regexp_classic_ruby\'>/<\/span><span class=\'string string_regexp string_regexp_classic string_regexp_classic_ruby\'>^<span class=\'string string_regexp string_regexp_group string_regexp_group_ruby\'>(<span class=\'string string_regexp string_regexp_character-class string_regexp_character-class_ruby\'>[0-9]<\/span><span class=\'string string_regexp string_regexp_arbitrary-repitition string_regexp_arbitrary-repitition_ruby\'>{0,3}<\/span>)<\/span><span class=\'string string_regexp string_regexp_group string_regexp_group_ruby\'>(<span class=\'string string_regexp string_regexp_character-class string_regexp_character-class_ruby\'>[0-9]<\/span><span class=\'string string_regexp string_regexp_arbitrary-repitition string_regexp_arbitrary-repitition_ruby\'>{0,3}<\/span>)<\/span><span class=\'string string_regexp string_regexp_group string_regexp_group_ruby\'>(<span class=\'string string_regexp string_regexp_character-class string_regexp_character-class_ruby\'>[0-9]<\/span>{0,})<\/span>$<\/span><span class=\'string string_regexp string_regexp_classic string_regexp_classic_ruby\'>/<\/span>) <span class=\'keyword keyword_control keyword_control_ruby keyword_control_ruby_start-block\'>do <\/span>|<span class=\'variable variable_other variable_other_block variable_other_block_ruby\'>match<\/span>|\n");
document.write("      tmp <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\'>&quot;&quot;<\/span>\n");
document.write("      tmp <span class=\'keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_augmented keyword_operator_assignment_augmented_ruby\'>+=<\/span> <span class=\'variable variable_other variable_other_readwrite variable_other_readwrite_global variable_other_readwrite_global_pre-defined variable_other_readwrite_global_pre-defined_ruby\'>$1<\/span> <span class=\'keyword keyword_control keyword_control_ruby\'>if<\/span> <span class=\'variable variable_other variable_other_readwrite variable_other_readwrite_global variable_other_readwrite_global_pre-defined variable_other_readwrite_global_pre-defined_ruby\'>$1<\/span><span class=\'meta meta_function-call meta_function-call_method meta_function-call_method_without-arguments meta_function-call_method_without-arguments_ruby\'>.<span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>size<\/span><\/span> <span class=\'keyword keyword_operator keyword_operator_comparison keyword_operator_comparison_ruby\'>&gt;<\/span> <span class=\'constant constant_numeric constant_numeric_ruby\'>0<\/span>\n");
document.write("      tmp <span class=\'keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_augmented keyword_operator_assignment_augmented_ruby\'>+=<\/span> <span class=\'string string_quoted string_quoted_double string_quoted_double_ruby\'>&quot;-&quot;<\/span> <span class=\'keyword keyword_operator keyword_operator_arithmetic keyword_operator_arithmetic_ruby\'>+<\/span> <span class=\'variable variable_other variable_other_readwrite variable_other_readwrite_global variable_other_readwrite_global_pre-defined variable_other_readwrite_global_pre-defined_ruby\'>$2<\/span> <span class=\'keyword keyword_control keyword_control_ruby\'>if<\/span> <span class=\'variable variable_other variable_other_readwrite variable_other_readwrite_global variable_other_readwrite_global_pre-defined variable_other_readwrite_global_pre-defined_ruby\'>$2<\/span><span class=\'meta meta_function-call meta_function-call_method meta_function-call_method_without-arguments meta_function-call_method_without-arguments_ruby\'>.<span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>size<\/span><\/span> <span class=\'keyword keyword_operator keyword_operator_comparison keyword_operator_comparison_ruby\'>&gt;<\/span> <span class=\'constant constant_numeric constant_numeric_ruby\'>0<\/span>\n");
document.write("      tmp <span class=\'keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_augmented keyword_operator_assignment_augmented_ruby\'>+=<\/span> <span class=\'string string_quoted string_quoted_double string_quoted_double_ruby\'>&quot;-&quot;<\/span> <span class=\'keyword keyword_operator keyword_operator_arithmetic keyword_operator_arithmetic_ruby\'>+<\/span> <span class=\'variable variable_other variable_other_readwrite variable_other_readwrite_global variable_other_readwrite_global_pre-defined variable_other_readwrite_global_pre-defined_ruby\'>$3<\/span> <span class=\'keyword keyword_control keyword_control_ruby\'>if<\/span> <span class=\'variable variable_other variable_other_readwrite variable_other_readwrite_global variable_other_readwrite_global_pre-defined variable_other_readwrite_global_pre-defined_ruby\'>$3<\/span><span class=\'meta meta_function-call meta_function-call_method meta_function-call_method_without-arguments meta_function-call_method_without-arguments_ruby\'>.<span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>size<\/span><\/span> <span class=\'keyword keyword_operator keyword_operator_comparison keyword_operator_comparison_ruby\'>&gt;<\/span> <span class=\'constant constant_numeric constant_numeric_ruby\'>0<\/span>\n");
document.write("      tmp\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("  <span class=\'meta meta_function meta_function_method meta_function_method_without-arguments meta_function_method_without-arguments_ruby\'><span class=\'keyword keyword_control keyword_control_def keyword_control_def_ruby\'>def<\/span> <span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>deliver<\/span><\/span>\n");
document.write("    <span class=\'keyword keyword_control keyword_control_ruby\'>if<\/span> valid?\n");
document.write("      <span class=\'support support_class support_class_ruby\'>ContactMailer<\/span><span class=\'meta meta_function-call meta_function-call_method meta_function-call_method_with-arguments meta_function-call_method_with-arguments_ruby\'>.<span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>deliver_contact<\/span><\/span>(<span class=\'variable variable_language variable_language_ruby\'>self<\/span>)\n");
document.write("    <span class=\'keyword keyword_control keyword_control_ruby\'>else<\/span>\n");
document.write("      <span class=\'constant constant_language constant_language_ruby\'>false<\/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("<span class=\'keyword keyword_control keyword_control_ruby\'>end<\/span>\n");
document.write("\n");
document.write("<span class=\'variable variable_other variable_other_constant variable_other_constant_ruby\'>View<\/span>\n");
document.write("\n");
document.write("<span class=\'keyword keyword_operator keyword_operator_comparison keyword_operator_comparison_ruby\'>&lt;<\/span>div <span class=\'keyword keyword_control keyword_control_ruby\'>class<\/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\'>&quot;form_row&quot;<\/span><span class=\'keyword keyword_operator keyword_operator_comparison keyword_operator_comparison_ruby\'>&gt;<\/span>\n");
document.write("  <span class=\'keyword keyword_operator keyword_operator_comparison keyword_operator_comparison_ruby\'>&lt;<\/span><span class=\'keyword keyword_operator keyword_operator_arithmetic keyword_operator_arithmetic_ruby\'>%<\/span> form_tag <span class=\'string string_quoted string_quoted_single string_quoted_single_ruby\'>\'/contact/create\'<\/span> <span class=\'keyword keyword_control keyword_control_ruby keyword_control_ruby_start-block\'>do <\/span><span class=\'string string_quoted string_quoted_other string_quoted_other_literal string_quoted_other_literal_other string_quoted_other_literal_other_ruby\'>%&gt;<\/span>\n");
document.write("<span class=\"String\">    &lt;fieldset&gt;<\/span>\n");
document.write("      <span class=\'keyword keyword_operator keyword_operator_comparison keyword_operator_comparison_ruby\'>&lt;<\/span>legend&gt;<span class=\'keyword keyword_operator keyword_operator_comparison keyword_operator_comparison_ruby\'>&lt;<\/span><span class=\'keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_augmented keyword_operator_assignment_augmented_ruby\'>%=<\/span> <span class=\'variable variable_other variable_other_readwrite variable_other_readwrite_instance variable_other_readwrite_instance_ruby\'>@title<\/span> <span class=\'string string_quoted string_quoted_other string_quoted_other_literal string_quoted_other_literal_other string_quoted_other_literal_other_ruby\'>%&gt;&lt;/legend&gt;<\/span>\n");
document.write("        <span class=\'keyword keyword_operator keyword_operator_comparison keyword_operator_comparison_ruby\'>&lt;<\/span>p&gt;<span class=\'keyword keyword_operator keyword_operator_comparison keyword_operator_comparison_ruby\'>&lt;<\/span>label <span class=\'keyword keyword_control keyword_control_ruby\'>for<\/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\'>&quot;contact_name&quot;<\/span><span class=\'keyword keyword_operator keyword_operator_comparison keyword_operator_comparison_ruby\'>&gt;<\/span><span class=\'variable variable_other variable_other_constant variable_other_constant_ruby\'>Name<\/span><span class=\'keyword keyword_operator keyword_operator_comparison keyword_operator_comparison_ruby\'>&lt;<\/span><span class=\'keyword keyword_operator keyword_operator_arithmetic keyword_operator_arithmetic_ruby\'>/<\/span>label<span class=\'keyword keyword_operator keyword_operator_comparison keyword_operator_comparison_ruby\'>&gt;<\/span>\n");
document.write("        <span class=\'keyword keyword_operator keyword_operator_comparison keyword_operator_comparison_ruby\'>&lt;<\/span><span class=\'keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_augmented keyword_operator_assignment_augmented_ruby\'>%=<\/span> text_field <span class=\'constant constant_other constant_other_symbol constant_other_symbol_ruby\'>:contact<\/span>, <span class=\'constant constant_other constant_other_symbol constant_other_symbol_ruby\'>:name<\/span> <span class=\'string string_quoted string_quoted_other string_quoted_other_literal string_quoted_other_literal_other string_quoted_other_literal_other_ruby\'>%&gt;<\/span>\n");
document.write("<span class=\"String\">        &lt;%= error_message_on(@contact, :name) %&gt;<\/span><span class=\'keyword keyword_operator keyword_operator_comparison keyword_operator_comparison_ruby\'>&lt;<\/span><span class=\'keyword keyword_operator keyword_operator_arithmetic keyword_operator_arithmetic_ruby\'>/<\/span>p<span class=\'keyword keyword_operator keyword_operator_comparison keyword_operator_comparison_ruby\'>&gt;<\/span>\n");
document.write("\n");
document.write("        <span class=\'keyword keyword_operator keyword_operator_comparison keyword_operator_comparison_ruby\'>&lt;<\/span>p&gt;<span class=\'keyword keyword_operator keyword_operator_comparison keyword_operator_comparison_ruby\'>&lt;<\/span>label <span class=\'keyword keyword_control keyword_control_ruby\'>for<\/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\'>&quot;contact_email&quot;<\/span><span class=\'keyword keyword_operator keyword_operator_comparison keyword_operator_comparison_ruby\'>&gt;<\/span><span class=\'variable variable_other variable_other_constant variable_other_constant_ruby\'>Email<\/span><span class=\'keyword keyword_operator keyword_operator_comparison keyword_operator_comparison_ruby\'>&lt;<\/span><span class=\'keyword keyword_operator keyword_operator_arithmetic keyword_operator_arithmetic_ruby\'>/<\/span>label<span class=\'keyword keyword_operator keyword_operator_comparison keyword_operator_comparison_ruby\'>&gt;<\/span>\n");
document.write("        <span class=\'keyword keyword_operator keyword_operator_comparison keyword_operator_comparison_ruby\'>&lt;<\/span><span class=\'keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_augmented keyword_operator_assignment_augmented_ruby\'>%=<\/span> text_field <span class=\'constant constant_other constant_other_symbol constant_other_symbol_ruby\'>:contact<\/span>, <span class=\'constant constant_other constant_other_symbol constant_other_symbol_ruby\'>:email<\/span> <span class=\'string string_quoted string_quoted_other string_quoted_other_literal string_quoted_other_literal_other string_quoted_other_literal_other_ruby\'>%&gt;<\/span>\n");
document.write("<span class=\"String\">        &lt;%= error_message_on(@contact, :email) %&gt;<\/span><span class=\'keyword keyword_operator keyword_operator_comparison keyword_operator_comparison_ruby\'>&lt;<\/span><span class=\'keyword keyword_operator keyword_operator_arithmetic keyword_operator_arithmetic_ruby\'>/<\/span>p<span class=\'keyword keyword_operator keyword_operator_comparison keyword_operator_comparison_ruby\'>&gt;<\/span>\n");
document.write("\n");
document.write("        <span class=\'keyword keyword_operator keyword_operator_comparison keyword_operator_comparison_ruby\'>&lt;<\/span>p&gt;<span class=\'keyword keyword_operator keyword_operator_comparison keyword_operator_comparison_ruby\'>&lt;<\/span>label <span class=\'keyword keyword_control keyword_control_ruby\'>for<\/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\'>&quot;contact_phone&quot;<\/span><span class=\'keyword keyword_operator keyword_operator_comparison keyword_operator_comparison_ruby\'>&gt;<\/span><span class=\'variable variable_other variable_other_constant variable_other_constant_ruby\'>Phone<\/span><span class=\'keyword keyword_operator keyword_operator_comparison keyword_operator_comparison_ruby\'>&lt;<\/span><span class=\'keyword keyword_operator keyword_operator_arithmetic keyword_operator_arithmetic_ruby\'>/<\/span>label<span class=\'keyword keyword_operator keyword_operator_comparison keyword_operator_comparison_ruby\'>&gt;<\/span>\n");
document.write("        <span class=\'keyword keyword_operator keyword_operator_comparison keyword_operator_comparison_ruby\'>&lt;<\/span><span class=\'keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_augmented keyword_operator_assignment_augmented_ruby\'>%=<\/span> text_field <span class=\'constant constant_other constant_other_symbol constant_other_symbol_ruby\'>:contact<\/span>, <span class=\'constant constant_other constant_other_symbol constant_other_symbol_ruby\'>:phone<\/span> <span class=\'string string_quoted string_quoted_other string_quoted_other_literal string_quoted_other_literal_other string_quoted_other_literal_other_ruby\'>%&gt;<\/span>\n");
document.write("<span class=\"String\">        &lt;%= error_message_on(@contact, :phone) %&gt;<\/span><span class=\'keyword keyword_operator keyword_operator_comparison keyword_operator_comparison_ruby\'>&lt;<\/span><span class=\'keyword keyword_operator keyword_operator_arithmetic keyword_operator_arithmetic_ruby\'>/<\/span>p<span class=\'keyword keyword_operator keyword_operator_comparison keyword_operator_comparison_ruby\'>&gt;<\/span>\n");
document.write("\n");
document.write("        <span class=\'keyword keyword_operator keyword_operator_comparison keyword_operator_comparison_ruby\'>&lt;<\/span>p&gt;<span class=\'keyword keyword_operator keyword_operator_comparison keyword_operator_comparison_ruby\'>&lt;<\/span>label <span class=\'keyword keyword_control keyword_control_ruby\'>for<\/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\'>&quot;contact_message&quot;<\/span><span class=\'keyword keyword_operator keyword_operator_comparison keyword_operator_comparison_ruby\'>&gt;<\/span><span class=\'variable variable_other variable_other_constant variable_other_constant_ruby\'>Message<\/span><span class=\'keyword keyword_operator keyword_operator_comparison keyword_operator_comparison_ruby\'>&lt;<\/span><span class=\'keyword keyword_operator keyword_operator_arithmetic keyword_operator_arithmetic_ruby\'>/<\/span>label<span class=\'keyword keyword_operator keyword_operator_comparison keyword_operator_comparison_ruby\'>&gt;<\/span>\n");
document.write("        <span class=\'keyword keyword_operator keyword_operator_comparison keyword_operator_comparison_ruby\'>&lt;<\/span><span class=\'keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_augmented keyword_operator_assignment_augmented_ruby\'>%=<\/span> text_field <span class=\'constant constant_other constant_other_symbol constant_other_symbol_ruby\'>:contact<\/span>, <span class=\'constant constant_other constant_other_symbol constant_other_symbol_ruby\'>:message<\/span> <span class=\'string string_quoted string_quoted_other string_quoted_other_literal string_quoted_other_literal_other string_quoted_other_literal_other_ruby\'>%&gt;<\/span>\n");
document.write("<span class=\"String\">        &lt;%= error_message_on(@contact, :message) %&gt;<\/span><span class=\'keyword keyword_operator keyword_operator_comparison keyword_operator_comparison_ruby\'>&lt;<\/span><span class=\'keyword keyword_operator keyword_operator_arithmetic keyword_operator_arithmetic_ruby\'>/<\/span>p<span class=\'keyword keyword_operator keyword_operator_comparison keyword_operator_comparison_ruby\'>&gt;<\/span>\n");
document.write("\n");
document.write("        <span class=\'keyword keyword_operator keyword_operator_comparison keyword_operator_comparison_ruby\'>&lt;<\/span>p&gt;<span class=\'keyword keyword_operator keyword_operator_comparison keyword_operator_comparison_ruby\'>&lt;<\/span><span class=\'keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_augmented keyword_operator_assignment_augmented_ruby\'>%=<\/span> submit_tag <span class=\'string string_quoted string_quoted_single string_quoted_single_ruby\'>\'Submit\'<\/span>, <span class=\'constant constant_other constant_other_symbol constant_other_symbol_ruby\'>:class<\/span> =&gt; <span class=\'string string_quoted string_quoted_double string_quoted_double_ruby\'>&quot;submit&quot;<\/span> <span class=\'string string_quoted string_quoted_other string_quoted_other_literal string_quoted_other_literal_other string_quoted_other_literal_other_ruby\'>%&gt;&lt;/p&gt;<\/span>\n");
document.write("      <span class=\'keyword keyword_operator keyword_operator_comparison keyword_operator_comparison_ruby\'>&lt;<\/span><span class=\'keyword keyword_operator keyword_operator_arithmetic keyword_operator_arithmetic_ruby\'>/<\/span>fieldset<span class=\'keyword keyword_operator keyword_operator_comparison keyword_operator_comparison_ruby\'>&gt;<\/span>\n");
document.write("  <span class=\'keyword keyword_operator keyword_operator_comparison keyword_operator_comparison_ruby\'>&lt;<\/span><span class=\'keyword keyword_operator keyword_operator_arithmetic keyword_operator_arithmetic_ruby\'>%<\/span> <span class=\'keyword keyword_control keyword_control_ruby\'>end<\/span> <span class=\'string string_quoted string_quoted_other string_quoted_other_literal string_quoted_other_literal_other string_quoted_other_literal_other_ruby\'>%&gt;<\/span>\n");
document.write("<span class=\"String\">&lt;/div&gt;<\/span>\n");
document.write("\n");
document.write("<span class=\'variable variable_other variable_other_constant variable_other_constant_ruby\'>Rspec<\/span> <span class=\'variable variable_other variable_other_constant variable_other_constant_ruby\'>Controller<\/span>\n");
document.write("\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=\'support support_class support_class_ruby\'>File<\/span><span class=\'meta meta_function-call meta_function-call_method meta_function-call_method_with-arguments meta_function-call_method_with-arguments_ruby\'>.<span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>dirname<\/span><\/span>(<span class=\'variable variable_language variable_language_ruby\'>__FILE__<\/span>) <span class=\'keyword keyword_operator keyword_operator_arithmetic keyword_operator_arithmetic_ruby\'>+<\/span> <span class=\'string string_quoted string_quoted_single string_quoted_single_ruby\'>\'/../spec_helper\'<\/span><\/span>\n");
document.write("\n");
document.write("describe <span class=\'variable variable_other variable_other_constant variable_other_constant_ruby\'>ContactsController<\/span> <span class=\'keyword keyword_control keyword_control_ruby keyword_control_ruby_start-block\'>do<\/span>\n");
document.write("  <span class=\'meta meta_function meta_function_method meta_function_method_with-arguments meta_function_method_with-arguments_ruby\'><span class=\'keyword keyword_control keyword_control_def keyword_control_def_ruby\'>def<\/span> <span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>mock_contact<\/span>(<span class=\'variable variable_parameter variable_parameter_function variable_parameter_function_ruby\'>params<span class=\'keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby\'>=<\/span>{}<\/span>)<\/span>\n");
document.write("    params <span class=\'keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby\'>=<\/span> {<span class=\'constant constant_other constant_other_symbol constant_other_symbol_ruby\'>:deliver<\/span> =&gt; <span class=\'constant constant_language constant_language_ruby\'>true<\/span>, <span class=\'constant constant_other constant_other_symbol constant_other_symbol_ruby\'>:save<\/span> =&gt; <span class=\'constant constant_language constant_language_ruby\'>true<\/span>, <span class=\'constant constant_other constant_other_symbol constant_other_symbol_ruby\'>:valid?<\/span> =&gt; <span class=\'constant constant_language constant_language_ruby\'>true<\/span>}<span class=\'meta meta_function-call meta_function-call_method meta_function-call_method_with-arguments meta_function-call_method_with-arguments_ruby\'>.<span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>merge<\/span><\/span>(params)\n");
document.write("    <span class=\'variable variable_other variable_other_readwrite variable_other_readwrite_instance variable_other_readwrite_instance_ruby\'>@mock_contact<\/span> <span class=\'keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_augmented keyword_operator_assignment_augmented_ruby\'>||=<\/span> <span class=\'meta meta_function-call meta_function-call_ruby\'><span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>mock<\/span><\/span>(<span class=\'string string_quoted string_quoted_single string_quoted_single_ruby\'>\'contact\'<\/span>, params)\n");
document.write("  <span class=\'keyword keyword_control keyword_control_ruby\'>end<\/span>\n");
document.write("\n");
document.write("  describe <span class=\'string string_quoted string_quoted_double string_quoted_double_ruby\'>&quot;on GET to new&quot;<\/span> <span class=\'keyword keyword_control keyword_control_ruby keyword_control_ruby_start-block\'>do<\/span>\n");
document.write("    it <span class=\'string string_quoted string_quoted_double string_quoted_double_ruby\'>&quot;should expose new contact as @contact&quot;<\/span> <span class=\'keyword keyword_control keyword_control_ruby keyword_control_ruby_start-block\'>do<\/span>\n");
document.write("      <span class=\'support support_class support_class_ruby\'>Contact<\/span><span class=\'meta meta_function-call meta_function-call_method meta_function-call_method_with-arguments meta_function-call_method_with-arguments_ruby\'>.<span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>should_receive<\/span><\/span>(<span class=\'constant constant_other constant_other_symbol constant_other_symbol_ruby\'>:new<\/span>)<span class=\'meta meta_function-call meta_function-call_method meta_function-call_method_with-arguments meta_function-call_method_with-arguments_ruby\'>.<span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>and_return<\/span><\/span>(<span class=\'variable variable_other variable_other_readwrite variable_other_readwrite_instance variable_other_readwrite_instance_ruby\'>@contact<\/span>)\n");
document.write("      get <span class=\'constant constant_other constant_other_symbol constant_other_symbol_ruby\'>:new<\/span>\n");
document.write("      <span class=\'meta meta_function-call meta_function-call_ruby\'><span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>assigns<\/span><\/span>(<span class=\'constant constant_other constant_other_symbol constant_other_symbol_ruby\'>:contact<\/span>)<span class=\'meta meta_function-call meta_function-call_method meta_function-call_method_without-arguments meta_function-call_method_without-arguments_ruby\'>.<span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>should<\/span><\/span> <span class=\'keyword keyword_operator keyword_operator_comparison keyword_operator_comparison_ruby\'>==<\/span> <span class=\'variable variable_other variable_other_readwrite variable_other_readwrite_instance variable_other_readwrite_instance_ruby\'>@contact<\/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("  describe <span class=\'string string_quoted string_quoted_double string_quoted_double_ruby\'>&quot;on POST to create&quot;<\/span> <span class=\'keyword keyword_control keyword_control_ruby keyword_control_ruby_start-block\'>do<\/span>\n");
document.write("    it <span class=\'string string_quoted string_quoted_double string_quoted_double_ruby\'>&quot;should populate new contact with form data&quot;<\/span> <span class=\'keyword keyword_control keyword_control_ruby keyword_control_ruby_start-block\'>do<\/span>\n");
document.write("      <span class=\'support support_class support_class_ruby\'>Contact<\/span><span class=\'meta meta_function-call meta_function-call_method meta_function-call_method_with-arguments meta_function-call_method_with-arguments_ruby\'>.<span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>should_receive<\/span><\/span>(<span class=\'constant constant_other constant_other_symbol constant_other_symbol_ruby\'>:new<\/span>)<span class=\'meta meta_function-call meta_function-call_method meta_function-call_method_with-arguments meta_function-call_method_with-arguments_ruby\'>.<span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>with<\/span><\/span>({<span class=\'string string_quoted string_quoted_single string_quoted_single_ruby\'>\'these\'<\/span> =&gt; <span class=\'string string_quoted string_quoted_single string_quoted_single_ruby\'>\'options\'<\/span>})<span class=\'meta meta_function-call meta_function-call_method meta_function-call_method_with-arguments meta_function-call_method_with-arguments_ruby\'>.<span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>and_return<\/span><\/span>(mock_contact)\n");
document.write("      post <span class=\'constant constant_other constant_other_symbol constant_other_symbol_ruby\'>:create<\/span>, <span class=\'constant constant_other constant_other_symbol constant_other_symbol_ruby\'>:contact<\/span> =&gt; {<span class=\'string string_quoted string_quoted_single string_quoted_single_ruby\'>\'these\'<\/span> =&gt; <span class=\'string string_quoted string_quoted_single string_quoted_single_ruby\'>\'options\'<\/span>}\n");
document.write("    <span class=\'keyword keyword_control keyword_control_ruby\'>end<\/span>\n");
document.write("\n");
document.write("    describe <span class=\'string string_quoted string_quoted_double string_quoted_double_ruby\'>&quot;with valid contact&quot;<\/span> <span class=\'keyword keyword_control keyword_control_ruby keyword_control_ruby_start-block\'>do<\/span>\n");
document.write("      it <span class=\'string string_quoted string_quoted_double string_quoted_double_ruby\'>&quot;should tell the contact to deliver&quot;<\/span> <span class=\'keyword keyword_control keyword_control_ruby keyword_control_ruby_start-block\'>do<\/span>\n");
document.write("        <span class=\'support support_class support_class_ruby\'>Contact<\/span><span class=\'meta meta_function-call meta_function-call_method meta_function-call_method_with-arguments meta_function-call_method_with-arguments_ruby\'>.<span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>should_receive<\/span><\/span>(<span class=\'constant constant_other constant_other_symbol constant_other_symbol_ruby\'>:new<\/span>)<span class=\'meta meta_function-call meta_function-call_method meta_function-call_method_with-arguments meta_function-call_method_with-arguments_ruby\'>.<span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>and_return<\/span><\/span>(<span class=\'meta meta_function-call meta_function-call_ruby\'><span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>mock_contact<\/span><\/span>(<span class=\'constant constant_other constant_other_symbol constant_other_symbol_ruby\'>:save<\/span> =&gt; <span class=\'constant constant_language constant_language_ruby\'>true<\/span>))\n");
document.write("        mock_contact<span class=\'meta meta_function-call meta_function-call_method meta_function-call_method_with-arguments meta_function-call_method_with-arguments_ruby\'>.<span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>should_receive<\/span><\/span>(<span class=\'constant constant_other constant_other_symbol constant_other_symbol_ruby\'>:deliver<\/span>)\n");
document.write("        post <span class=\'constant constant_other constant_other_symbol constant_other_symbol_ruby\'>:create<\/span>\n");
document.write("      <span class=\'keyword keyword_control keyword_control_ruby\'>end<\/span>\n");
document.write("\n");
document.write("      it <span class=\'string string_quoted string_quoted_double string_quoted_double_ruby\'>&quot;should notify the user of successful submission&quot;<\/span> <span class=\'keyword keyword_control keyword_control_ruby keyword_control_ruby_start-block\'>do<\/span>\n");
document.write("        <span class=\'support support_class support_class_ruby\'>Contact<\/span><span class=\'meta meta_function-call meta_function-call_method meta_function-call_method_with-arguments meta_function-call_method_with-arguments_ruby\'>.<span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>should_receive<\/span><\/span>(<span class=\'constant constant_other constant_other_symbol constant_other_symbol_ruby\'>:new<\/span>)<span class=\'meta meta_function-call meta_function-call_method meta_function-call_method_with-arguments meta_function-call_method_with-arguments_ruby\'>.<span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>and_return<\/span><\/span>(<span class=\'meta meta_function-call meta_function-call_ruby\'><span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>mock_contact<\/span><\/span>(<span class=\'constant constant_other constant_other_symbol constant_other_symbol_ruby\'>:save<\/span> =&gt; <span class=\'constant constant_language constant_language_ruby\'>true<\/span>))\n");
document.write("        post <span class=\'constant constant_other constant_other_symbol constant_other_symbol_ruby\'>:create<\/span>\n");
document.write("        flash[<span class=\'constant constant_other constant_other_symbol constant_other_symbol_ruby\'>:notice<\/span>]<span class=\'meta meta_function-call meta_function-call_method meta_function-call_method_without-arguments meta_function-call_method_without-arguments_ruby\'>.<span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>should<\/span><\/span> <span class=\'keyword keyword_operator keyword_operator_comparison keyword_operator_comparison_ruby\'>==<\/span> <span class=\'string string_quoted string_quoted_double string_quoted_double_ruby\'>&quot;Contact Message Sent&quot;<\/span>\n");
document.write("      <span class=\'keyword keyword_control keyword_control_ruby\'>end<\/span>\n");
document.write("\n");
document.write("      it <span class=\'string string_quoted string_quoted_double string_quoted_double_ruby\'>&quot;should redirect the user to the home page&quot;<\/span> <span class=\'keyword keyword_control keyword_control_ruby keyword_control_ruby_start-block\'>do<\/span>\n");
document.write("        <span class=\'support support_class support_class_ruby\'>Contact<\/span><span class=\'meta meta_function-call meta_function-call_method meta_function-call_method_with-arguments meta_function-call_method_with-arguments_ruby\'>.<span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>should_receive<\/span><\/span>(<span class=\'constant constant_other constant_other_symbol constant_other_symbol_ruby\'>:new<\/span>)<span class=\'meta meta_function-call meta_function-call_method meta_function-call_method_with-arguments meta_function-call_method_with-arguments_ruby\'>.<span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>and_return<\/span><\/span>(<span class=\'meta meta_function-call meta_function-call_ruby\'><span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>mock_contact<\/span><\/span>(<span class=\'constant constant_other constant_other_symbol constant_other_symbol_ruby\'>:save<\/span> =&gt; <span class=\'constant constant_language constant_language_ruby\'>true<\/span>))\n");
document.write("        post <span class=\'constant constant_other constant_other_symbol constant_other_symbol_ruby\'>:create<\/span>\n");
document.write("        response<span class=\'meta meta_function-call meta_function-call_method meta_function-call_method_without-arguments meta_function-call_method_without-arguments_ruby\'>.<span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>should<\/span><\/span> <span class=\'support support_function support_function_actionpack support_function_actionpack_rails\'>redirect_to<\/span>(<span class=\'string string_quoted string_quoted_single string_quoted_single_ruby\'>\'/\'<\/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("    describe <span class=\'string string_quoted string_quoted_double string_quoted_double_ruby\'>&quot;with invalid contact&quot;<\/span> <span class=\'keyword keyword_control keyword_control_ruby keyword_control_ruby_start-block\'>do<\/span>\n");
document.write("      it <span class=\'string string_quoted string_quoted_double string_quoted_double_ruby\'>&quot;should render the new contact form again&quot;<\/span> <span class=\'keyword keyword_control keyword_control_ruby keyword_control_ruby_start-block\'>do<\/span>\n");
document.write("        <span class=\'support support_class support_class_ruby\'>Contact<\/span><span class=\'meta meta_function-call meta_function-call_method meta_function-call_method_with-arguments meta_function-call_method_with-arguments_ruby\'>.<span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>stub!<\/span><\/span>(<span class=\'constant constant_other constant_other_symbol constant_other_symbol_ruby\'>:new<\/span>)<span class=\'meta meta_function-call meta_function-call_method meta_function-call_method_with-arguments meta_function-call_method_with-arguments_ruby\'>.<span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>and_return<\/span><\/span>(<span class=\'meta meta_function-call meta_function-call_ruby\'><span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>mock_contact<\/span><\/span>(<span class=\'constant constant_other constant_other_symbol constant_other_symbol_ruby\'>:valid?<\/span> =&gt; <span class=\'constant constant_language constant_language_ruby\'>false<\/span>))\n");
document.write("        post <span class=\'constant constant_other constant_other_symbol constant_other_symbol_ruby\'>:create<\/span>\n");
document.write("        response<span class=\'meta meta_function-call meta_function-call_method meta_function-call_method_without-arguments meta_function-call_method_without-arguments_ruby\'>.<span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>should<\/span><\/span> <span class=\'support support_function support_function_actionpack support_function_actionpack_rails\'>render_template<\/span>(<span class=\'string string_quoted string_quoted_single string_quoted_single_ruby\'>\'contacts/new\'<\/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("  <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("<span class=\'variable variable_other variable_other_constant variable_other_constant_ruby\'>Rspec<\/span> <span class=\'variable variable_other variable_other_constant variable_other_constant_ruby\'>Model<\/span>\n");
document.write("\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=\'support support_class support_class_ruby\'>File<\/span><span class=\'meta meta_function-call meta_function-call_method meta_function-call_method_with-arguments meta_function-call_method_with-arguments_ruby\'>.<span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>dirname<\/span><\/span>(<span class=\'variable variable_language variable_language_ruby\'>__FILE__<\/span>) <span class=\'keyword keyword_operator keyword_operator_arithmetic keyword_operator_arithmetic_ruby\'>+<\/span> <span class=\'string string_quoted string_quoted_single string_quoted_single_ruby\'>\'/../spec_helper\'<\/span><\/span>\n");
document.write("\n");
document.write("describe <span class=\'variable variable_other variable_other_constant variable_other_constant_ruby\'>Contact<\/span> <span class=\'keyword keyword_control keyword_control_ruby keyword_control_ruby_start-block\'>do<\/span>\n");
document.write("  it <span class=\'string string_quoted string_quoted_double string_quoted_double_ruby\'>&quot;should assign name&quot;<\/span> <span class=\'keyword keyword_control keyword_control_ruby keyword_control_ruby_start-block\'>do<\/span>\n");
document.write("    contact <span class=\'keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby\'>=<\/span> <span class=\'support support_class support_class_ruby\'>Contact<\/span><span class=\'meta meta_function-call meta_function-call_method meta_function-call_method_with-arguments meta_function-call_method_with-arguments_ruby\'>.<span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>new<\/span><\/span>(<span class=\'constant constant_other constant_other_symbol constant_other_symbol_ruby\'>:name<\/span> =&gt; <span class=\'string string_quoted string_quoted_double string_quoted_double_ruby\'>&quot;Lance&quot;<\/span>)\n");
document.write("    contact<span class=\'meta meta_function-call meta_function-call_method meta_function-call_method_without-arguments meta_function-call_method_without-arguments_ruby\'>.<span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>name<\/span><\/span><span class=\'meta meta_function-call meta_function-call_method meta_function-call_method_without-arguments meta_function-call_method_without-arguments_ruby\'>.<span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>should<\/span><\/span> <span class=\'keyword keyword_operator keyword_operator_comparison keyword_operator_comparison_ruby\'>==<\/span> <span class=\'string string_quoted string_quoted_single string_quoted_single_ruby\'>\'Lance\'<\/span>\n");
document.write("  <span class=\'keyword keyword_control keyword_control_ruby\'>end<\/span>\n");
document.write("\n");
document.write("  it <span class=\'string string_quoted string_quoted_double string_quoted_double_ruby\'>&quot;should assign email&quot;<\/span> <span class=\'keyword keyword_control keyword_control_ruby keyword_control_ruby_start-block\'>do<\/span>\n");
document.write("    contact <span class=\'keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby\'>=<\/span> <span class=\'support support_class support_class_ruby\'>Contact<\/span><span class=\'meta meta_function-call meta_function-call_method meta_function-call_method_with-arguments meta_function-call_method_with-arguments_ruby\'>.<span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>new<\/span><\/span>(<span class=\'constant constant_other constant_other_symbol constant_other_symbol_ruby\'>:email<\/span> =&gt; <span class=\'string string_quoted string_quoted_double string_quoted_double_ruby\'>&quot;person@site.com&quot;<\/span>)\n");
document.write("    contact<span class=\'meta meta_function-call meta_function-call_method meta_function-call_method_without-arguments meta_function-call_method_without-arguments_ruby\'>.<span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>email<\/span><\/span><span class=\'meta meta_function-call meta_function-call_method meta_function-call_method_without-arguments meta_function-call_method_without-arguments_ruby\'>.<span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>should<\/span><\/span> <span class=\'keyword keyword_operator keyword_operator_comparison keyword_operator_comparison_ruby\'>==<\/span> <span class=\'string string_quoted string_quoted_single string_quoted_single_ruby\'>\'person@site.com\'<\/span>\n");
document.write("  <span class=\'keyword keyword_control keyword_control_ruby\'>end<\/span>\n");
document.write("\n");
document.write("  it <span class=\'string string_quoted string_quoted_double string_quoted_double_ruby\'>&quot;should assign phone&quot;<\/span> <span class=\'keyword keyword_control keyword_control_ruby keyword_control_ruby_start-block\'>do<\/span>\n");
document.write("    contact <span class=\'keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby\'>=<\/span> <span class=\'support support_class support_class_ruby\'>Contact<\/span><span class=\'meta meta_function-call meta_function-call_method meta_function-call_method_with-arguments meta_function-call_method_with-arguments_ruby\'>.<span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>new<\/span><\/span>(<span class=\'constant constant_other constant_other_symbol constant_other_symbol_ruby\'>:phone<\/span> =&gt; <span class=\'string string_quoted string_quoted_double string_quoted_double_ruby\'>&quot;555.555.1212&quot;<\/span>)\n");
document.write("    contact<span class=\'meta meta_function-call meta_function-call_method meta_function-call_method_without-arguments meta_function-call_method_without-arguments_ruby\'>.<span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>phone<\/span><\/span><span class=\'meta meta_function-call meta_function-call_method meta_function-call_method_without-arguments meta_function-call_method_without-arguments_ruby\'>.<span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>should<\/span><\/span> <span class=\'keyword keyword_operator keyword_operator_comparison keyword_operator_comparison_ruby\'>==<\/span> <span class=\'string string_quoted string_quoted_single string_quoted_single_ruby\'>\'555-555-1212\'<\/span>\n");
document.write("  <span class=\'keyword keyword_control keyword_control_ruby\'>end<\/span>\n");
document.write("\n");
document.write("  it <span class=\'string string_quoted string_quoted_double string_quoted_double_ruby\'>&quot;should assign message&quot;<\/span> <span class=\'keyword keyword_control keyword_control_ruby keyword_control_ruby_start-block\'>do<\/span>\n");
document.write("    contact <span class=\'keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby\'>=<\/span> <span class=\'support support_class support_class_ruby\'>Contact<\/span><span class=\'meta meta_function-call meta_function-call_method meta_function-call_method_with-arguments meta_function-call_method_with-arguments_ruby\'>.<span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>new<\/span><\/span>(<span class=\'constant constant_other constant_other_symbol constant_other_symbol_ruby\'>:message<\/span> =&gt; <span class=\'string string_quoted string_quoted_double string_quoted_double_ruby\'>&quot;hey, how come you never call me?&quot;<\/span>)\n");
document.write("    contact<span class=\'meta meta_function-call meta_function-call_method meta_function-call_method_without-arguments meta_function-call_method_without-arguments_ruby\'>.<span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>message<\/span><\/span><span class=\'meta meta_function-call meta_function-call_method meta_function-call_method_without-arguments meta_function-call_method_without-arguments_ruby\'>.<span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>should<\/span><\/span> <span class=\'keyword keyword_operator keyword_operator_comparison keyword_operator_comparison_ruby\'>==<\/span> <span class=\'string string_quoted string_quoted_double string_quoted_double_ruby\'>&quot;hey, how come you never call me?&quot;<\/span>\n");
document.write("  <span class=\'keyword keyword_control keyword_control_ruby\'>end<\/span>\n");
document.write("\n");
document.write("  it <span class=\'string string_quoted string_quoted_double string_quoted_double_ruby\'>&quot;should not assign non_existent_attribute&quot;<\/span> <span class=\'keyword keyword_control keyword_control_ruby keyword_control_ruby_start-block\'>do<\/span>\n");
document.write("    lambda {<span class=\'meta meta_syntax meta_syntax_ruby meta_syntax_ruby_start-block\'><\/span>\n");
document.write("      <span class=\'support support_class support_class_ruby\'>Contact<\/span><span class=\'meta meta_function-call meta_function-call_method meta_function-call_method_with-arguments meta_function-call_method_with-arguments_ruby\'>.<span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>new<\/span><\/span>(<span class=\'constant constant_other constant_other_symbol constant_other_symbol_ruby\'>:non_existent_attribute<\/span> =&gt; <span class=\'string string_quoted string_quoted_double string_quoted_double_ruby\'>&quot;whatever&quot;<\/span>)\n");
document.write("    }<span class=\'meta meta_function-call meta_function-call_method meta_function-call_method_without-arguments meta_function-call_method_without-arguments_ruby\'>.<span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>should<\/span><\/span> <span class=\'meta meta_function-call meta_function-call_ruby\'><span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>raise_error<\/span><\/span>(<span class=\'variable variable_other variable_other_constant variable_other_constant_ruby\'>NoMethodError<\/span>)\n");
document.write("  <span class=\'keyword keyword_control keyword_control_ruby\'>end<\/span>\n");
document.write("\n");
document.write("  it <span class=\'string string_quoted string_quoted_double string_quoted_double_ruby\'>&quot;should have error for missing name&quot;<\/span> <span class=\'keyword keyword_control keyword_control_ruby keyword_control_ruby_start-block\'>do<\/span>\n");
document.write("    contact <span class=\'keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby\'>=<\/span> <span class=\'support support_class support_class_ruby\'>Contact<\/span><span class=\'meta meta_function-call meta_function-call_method meta_function-call_method_without-arguments meta_function-call_method_without-arguments_ruby\'>.<span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>new<\/span><\/span>\n");
document.write("    contact<span class=\'meta meta_function-call meta_function-call_method meta_function-call_method_without-arguments meta_function-call_method_without-arguments_ruby\'>.<span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>valid?<\/span><\/span>\n");
document.write("    contact<span class=\'meta meta_function-call meta_function-call_method meta_function-call_method_without-arguments meta_function-call_method_without-arguments_ruby\'>.<span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>errors<\/span><\/span><span class=\'meta meta_function-call meta_function-call_method meta_function-call_method_with-arguments meta_function-call_method_with-arguments_ruby\'>.<span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>on<\/span><\/span>(<span class=\'constant constant_other constant_other_symbol constant_other_symbol_ruby\'>:name<\/span>)<span class=\'meta meta_function-call meta_function-call_method meta_function-call_method_without-arguments meta_function-call_method_without-arguments_ruby\'>.<span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>should<\/span><\/span> <span class=\'keyword keyword_operator keyword_operator_comparison keyword_operator_comparison_ruby\'>==<\/span> <span class=\'string string_quoted string_quoted_single string_quoted_single_ruby\'>\'Name is required.\'<\/span>\n");
document.write("  <span class=\'keyword keyword_control keyword_control_ruby\'>end<\/span>\n");
document.write("\n");
document.write("  it <span class=\'string string_quoted string_quoted_double string_quoted_double_ruby\'>&quot;should have error for missing email&quot;<\/span> <span class=\'keyword keyword_control keyword_control_ruby keyword_control_ruby_start-block\'>do<\/span>\n");
document.write("    contact <span class=\'keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby\'>=<\/span> <span class=\'support support_class support_class_ruby\'>Contact<\/span><span class=\'meta meta_function-call meta_function-call_method meta_function-call_method_without-arguments meta_function-call_method_without-arguments_ruby\'>.<span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>new<\/span><\/span>\n");
document.write("    contact<span class=\'meta meta_function-call meta_function-call_method meta_function-call_method_without-arguments meta_function-call_method_without-arguments_ruby\'>.<span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>valid?<\/span><\/span>\n");
document.write("    contact<span class=\'meta meta_function-call meta_function-call_method meta_function-call_method_without-arguments meta_function-call_method_without-arguments_ruby\'>.<span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>errors<\/span><\/span><span class=\'meta meta_function-call meta_function-call_method meta_function-call_method_with-arguments meta_function-call_method_with-arguments_ruby\'>.<span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>on<\/span><\/span>(<span class=\'constant constant_other constant_other_symbol constant_other_symbol_ruby\'>:email<\/span>)<span class=\'meta meta_function-call meta_function-call_method meta_function-call_method_without-arguments meta_function-call_method_without-arguments_ruby\'>.<span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>should<\/span><\/span> <span class=\'keyword keyword_operator keyword_operator_comparison keyword_operator_comparison_ruby\'>==<\/span> <span class=\'string string_quoted string_quoted_single string_quoted_single_ruby\'>\'Email is not valid.\'<\/span>\n");
document.write("  <span class=\'keyword keyword_control keyword_control_ruby\'>end<\/span>\n");
document.write("\n");
document.write("  it <span class=\'string string_quoted string_quoted_double string_quoted_double_ruby\'>&quot;should have error for missing phome&quot;<\/span> <span class=\'keyword keyword_control keyword_control_ruby keyword_control_ruby_start-block\'>do<\/span>\n");
document.write("    contact <span class=\'keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby\'>=<\/span> <span class=\'support support_class support_class_ruby\'>Contact<\/span><span class=\'meta meta_function-call meta_function-call_method meta_function-call_method_without-arguments meta_function-call_method_without-arguments_ruby\'>.<span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>new<\/span><\/span>\n");
document.write("    contact<span class=\'meta meta_function-call meta_function-call_method meta_function-call_method_without-arguments meta_function-call_method_without-arguments_ruby\'>.<span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>valid?<\/span><\/span>\n");
document.write("    contact<span class=\'meta meta_function-call meta_function-call_method meta_function-call_method_without-arguments meta_function-call_method_without-arguments_ruby\'>.<span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>errors<\/span><\/span><span class=\'meta meta_function-call meta_function-call_method meta_function-call_method_with-arguments meta_function-call_method_with-arguments_ruby\'>.<span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>on<\/span><\/span>(<span class=\'constant constant_other constant_other_symbol constant_other_symbol_ruby\'>:phone<\/span>)<span class=\'meta meta_function-call meta_function-call_method meta_function-call_method_without-arguments meta_function-call_method_without-arguments_ruby\'>.<span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>should<\/span><\/span> <span class=\'keyword keyword_operator keyword_operator_comparison keyword_operator_comparison_ruby\'>=~<\/span> <span class=\'string string_regexp string_regexp_classic string_regexp_classic_ruby\'>/<\/span><span class=\'string string_regexp string_regexp_classic string_regexp_classic_ruby\'>Phone number is not valid<\/span><span class=\'string string_regexp string_regexp_classic string_regexp_classic_ruby\'>/<\/span>\n");
document.write("  <span class=\'keyword keyword_control keyword_control_ruby\'>end<\/span>\n");
document.write("\n");
document.write("  it <span class=\'string string_quoted string_quoted_double string_quoted_double_ruby\'>&quot;should have error for invalid phome&quot;<\/span> <span class=\'keyword keyword_control keyword_control_ruby keyword_control_ruby_start-block\'>do<\/span>\n");
document.write("    contact <span class=\'keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby\'>=<\/span> <span class=\'support support_class support_class_ruby\'>Contact<\/span><span class=\'meta meta_function-call meta_function-call_method meta_function-call_method_with-arguments meta_function-call_method_with-arguments_ruby\'>.<span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>new<\/span><\/span>(<span class=\'constant constant_other constant_other_symbol constant_other_symbol_ruby\'>:phone<\/span> =&gt; <span class=\'string string_quoted string_quoted_single string_quoted_single_ruby\'>\'invalid phone number\'<\/span>)\n");
document.write("    contact<span class=\'meta meta_function-call meta_function-call_method meta_function-call_method_without-arguments meta_function-call_method_without-arguments_ruby\'>.<span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>valid?<\/span><\/span>\n");
document.write("    contact<span class=\'meta meta_function-call meta_function-call_method meta_function-call_method_without-arguments meta_function-call_method_without-arguments_ruby\'>.<span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>errors<\/span><\/span><span class=\'meta meta_function-call meta_function-call_method meta_function-call_method_with-arguments meta_function-call_method_with-arguments_ruby\'>.<span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>on<\/span><\/span>(<span class=\'constant constant_other constant_other_symbol constant_other_symbol_ruby\'>:phone<\/span>)<span class=\'meta meta_function-call meta_function-call_method meta_function-call_method_without-arguments meta_function-call_method_without-arguments_ruby\'>.<span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>should<\/span><\/span> <span class=\'keyword keyword_operator keyword_operator_comparison keyword_operator_comparison_ruby\'>=~<\/span> <span class=\'string string_regexp string_regexp_classic string_regexp_classic_ruby\'>/<\/span><span class=\'string string_regexp string_regexp_classic string_regexp_classic_ruby\'>Phone number is not valid<\/span><span class=\'string string_regexp string_regexp_classic string_regexp_classic_ruby\'>/<\/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("<span class=\'variable variable_other variable_other_constant variable_other_constant_ruby\'>Rspec<\/span> <span class=\'variable variable_other variable_other_constant variable_other_constant_ruby\'>View<\/span>\n");
document.write("\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=\'support support_class support_class_ruby\'>File<\/span><span class=\'meta meta_function-call meta_function-call_method meta_function-call_method_with-arguments meta_function-call_method_with-arguments_ruby\'>.<span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>dirname<\/span><\/span>(<span class=\'variable variable_language variable_language_ruby\'>__FILE__<\/span>) <span class=\'keyword keyword_operator keyword_operator_arithmetic keyword_operator_arithmetic_ruby\'>+<\/span> <span class=\'string string_quoted string_quoted_double string_quoted_double_ruby\'>&quot;/../../spec_helper&quot;<\/span><\/span>\n");
document.write("\n");
document.write("describe <span class=\'string string_quoted string_quoted_double string_quoted_double_ruby\'>&quot;/contacts/new&quot;<\/span> <span class=\'keyword keyword_control keyword_control_ruby keyword_control_ruby_start-block\'>do<\/span>\n");
document.write("  it <span class=\'string string_quoted string_quoted_double string_quoted_double_ruby\'>&quot;should render the form&quot;<\/span> <span class=\'keyword keyword_control keyword_control_ruby keyword_control_ruby_start-block\'>do<\/span>\n");
document.write("    assigns[<span class=\'constant constant_other constant_other_symbol constant_other_symbol_ruby\'>:contact<\/span>] <span class=\'keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby\'>=<\/span> <span class=\'support support_class support_class_ruby\'>Contact<\/span><span class=\'meta meta_function-call meta_function-call_method meta_function-call_method_without-arguments meta_function-call_method_without-arguments_ruby\'>.<span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>new<\/span><\/span>\n");
document.write("\n");
document.write("    <span class=\'support support_function support_function_actionpack support_function_actionpack_rails\'>render<\/span> <span class=\'string string_quoted string_quoted_double string_quoted_double_ruby\'>&quot;/contacts/new.html.erb&quot;<\/span>\n");
document.write("\n");
document.write("    response<span class=\'meta meta_function-call meta_function-call_method meta_function-call_method_without-arguments meta_function-call_method_without-arguments_ruby\'>.<span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>should<\/span><\/span> <span class=\'meta meta_function-call meta_function-call_ruby\'><span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>have_tag<\/span><\/span>(<span class=\'string string_quoted string_quoted_single string_quoted_single_ruby\'>\'form[action=?]\'<\/span>,<span class=\'string string_quoted string_quoted_single string_quoted_single_ruby\'>\'/contact/create\'<\/span>) <span class=\'keyword keyword_control keyword_control_ruby keyword_control_ruby_start-block\'>do<\/span>\n");
document.write("      <span class=\'meta meta_function-call meta_function-call_ruby\'><span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>with_tag<\/span><\/span>(<span class=\'string string_quoted string_quoted_single string_quoted_single_ruby\'>\'input[name=?]\'<\/span>,<span class=\'string string_quoted string_quoted_single string_quoted_single_ruby\'>\'contact[name]\'<\/span>)\n");
document.write("      <span class=\'meta meta_function-call meta_function-call_ruby\'><span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>with_tag<\/span><\/span>(<span class=\'string string_quoted string_quoted_single string_quoted_single_ruby\'>\'input[name=?]\'<\/span>,<span class=\'string string_quoted string_quoted_single string_quoted_single_ruby\'>\'contact[email]\'<\/span>)\n");
document.write("      <span class=\'meta meta_function-call meta_function-call_ruby\'><span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>with_tag<\/span><\/span>(<span class=\'string string_quoted string_quoted_single string_quoted_single_ruby\'>\'input[name=?]\'<\/span>,<span class=\'string string_quoted string_quoted_single string_quoted_single_ruby\'>\'contact[phone]\'<\/span>)\n");
document.write("      <span class=\'meta meta_function-call meta_function-call_ruby\'><span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>with_tag<\/span><\/span>(<span class=\'string string_quoted string_quoted_single string_quoted_single_ruby\'>\'input[name=?]\'<\/span>,<span class=\'string string_quoted string_quoted_single string_quoted_single_ruby\'>\'contact[message]\'<\/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("  <span class=\'meta meta_function meta_function_method meta_function_method_with-arguments meta_function_method_with-arguments_ruby\'><span class=\'keyword keyword_control keyword_control_def keyword_control_def_ruby\'>def<\/span> <span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>expect_error_message_on<\/span>(<span class=\'variable variable_parameter variable_parameter_function variable_parameter_function_ruby\'>attribute<\/span>)<\/span>\n");
document.write("    template<span class=\'meta meta_function-call meta_function-call_method meta_function-call_method_with-arguments meta_function-call_method_with-arguments_ruby\'>.<span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>stub!<\/span><\/span>(<span class=\'constant constant_other constant_other_symbol constant_other_symbol_ruby\'>:error_message_on<\/span>)\n");
document.write("    assigns[<span class=\'constant constant_other constant_other_symbol constant_other_symbol_ruby\'>:contact<\/span>] <span class=\'keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby\'>=<\/span> <span class=\'support support_class support_class_ruby\'>Contact<\/span><span class=\'meta meta_function-call meta_function-call_method meta_function-call_method_without-arguments meta_function-call_method_without-arguments_ruby\'>.<span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>new<\/span><\/span>\n");
document.write("    template<span class=\'meta meta_function-call meta_function-call_method meta_function-call_method_with-arguments meta_function-call_method_with-arguments_ruby\'>.<span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>should_receive<\/span><\/span>(<span class=\'constant constant_other constant_other_symbol constant_other_symbol_ruby\'>:error_message_on<\/span>)<span class=\'meta meta_function-call meta_function-call_method meta_function-call_method_with-arguments meta_function-call_method_with-arguments_ruby\'>.<span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>with<\/span><\/span>(assigns[<span class=\'constant constant_other constant_other_symbol constant_other_symbol_ruby\'>:contact<\/span>], attribute)<span class=\'meta meta_function-call meta_function-call_method meta_function-call_method_with-arguments meta_function-call_method_with-arguments_ruby\'>.<span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>and_return<\/span><\/span>(<span class=\'string string_quoted string_quoted_double string_quoted_double_ruby\'>&quot;message received&quot;<\/span>)\n");
document.write("  <span class=\'keyword keyword_control keyword_control_ruby\'>end<\/span>\n");
document.write("\n");
document.write("  it <span class=\'string string_quoted string_quoted_double string_quoted_double_ruby\'>&quot;should ask for error messages for name&quot;<\/span> <span class=\'keyword keyword_control keyword_control_ruby keyword_control_ruby_start-block\'>do<\/span>\n");
document.write("    <span class=\'meta meta_function-call meta_function-call_ruby\'><span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>expect_error_message_on<\/span><\/span>(<span class=\'constant constant_other constant_other_symbol constant_other_symbol_ruby\'>:name<\/span>)\n");
document.write("\n");
document.write("    <span class=\'support support_function support_function_actionpack support_function_actionpack_rails\'>render<\/span> <span class=\'string string_quoted string_quoted_double string_quoted_double_ruby\'>&quot;/contacts/new.html.erb&quot;<\/span>\n");
document.write("\n");
document.write("    response<span class=\'meta meta_function-call meta_function-call_method meta_function-call_method_without-arguments meta_function-call_method_without-arguments_ruby\'>.<span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>should<\/span><\/span> <span class=\'meta meta_function-call meta_function-call_ruby\'><span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>include_text<\/span><\/span>(<span class=\'string string_quoted string_quoted_double string_quoted_double_ruby\'>&quot;message received&quot;<\/span>)\n");
document.write("  <span class=\'keyword keyword_control keyword_control_ruby\'>end<\/span>\n");
document.write("\n");
document.write("  it <span class=\'string string_quoted string_quoted_double string_quoted_double_ruby\'>&quot;should ask for error messages for email&quot;<\/span> <span class=\'keyword keyword_control keyword_control_ruby keyword_control_ruby_start-block\'>do<\/span>\n");
document.write("    <span class=\'meta meta_function-call meta_function-call_ruby\'><span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>expect_error_message_on<\/span><\/span>(<span class=\'constant constant_other constant_other_symbol constant_other_symbol_ruby\'>:email<\/span>)\n");
document.write("\n");
document.write("    <span class=\'support support_function support_function_actionpack support_function_actionpack_rails\'>render<\/span> <span class=\'string string_quoted string_quoted_double string_quoted_double_ruby\'>&quot;/contacts/new.html.erb&quot;<\/span>\n");
document.write("\n");
document.write("    response<span class=\'meta meta_function-call meta_function-call_method meta_function-call_method_without-arguments meta_function-call_method_without-arguments_ruby\'>.<span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>should<\/span><\/span> <span class=\'meta meta_function-call meta_function-call_ruby\'><span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>include_text<\/span><\/span>(<span class=\'string string_quoted string_quoted_double string_quoted_double_ruby\'>&quot;message received&quot;<\/span>)\n");
document.write("  <span class=\'keyword keyword_control keyword_control_ruby\'>end<\/span>\n");
document.write("\n");
document.write("  it <span class=\'string string_quoted string_quoted_double string_quoted_double_ruby\'>&quot;should ask for error messages for phone&quot;<\/span> <span class=\'keyword keyword_control keyword_control_ruby keyword_control_ruby_start-block\'>do<\/span>\n");
document.write("    <span class=\'meta meta_function-call meta_function-call_ruby\'><span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>expect_error_message_on<\/span><\/span>(<span class=\'constant constant_other constant_other_symbol constant_other_symbol_ruby\'>:phone<\/span>)\n");
document.write("\n");
document.write("    <span class=\'support support_function support_function_actionpack support_function_actionpack_rails\'>render<\/span> <span class=\'string string_quoted string_quoted_double string_quoted_double_ruby\'>&quot;/contacts/new.html.erb&quot;<\/span>\n");
document.write("\n");
document.write("    response<span class=\'meta meta_function-call meta_function-call_method meta_function-call_method_without-arguments meta_function-call_method_without-arguments_ruby\'>.<span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>should<\/span><\/span> <span class=\'meta meta_function-call meta_function-call_ruby\'><span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>include_text<\/span><\/span>(<span class=\'string string_quoted string_quoted_double string_quoted_double_ruby\'>&quot;message received&quot;<\/span>)\n");
document.write("  <span class=\'keyword keyword_control keyword_control_ruby\'>end<\/span>\n");
document.write("\n");
document.write("  it <span class=\'string string_quoted string_quoted_double string_quoted_double_ruby\'>&quot;should ask for error messages for message&quot;<\/span> <span class=\'keyword keyword_control keyword_control_ruby keyword_control_ruby_start-block\'>do<\/span>\n");
document.write("    <span class=\'meta meta_function-call meta_function-call_ruby\'><span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>expect_error_message_on<\/span><\/span>(<span class=\'constant constant_other constant_other_symbol constant_other_symbol_ruby\'>:message<\/span>)\n");
document.write("\n");
document.write("    <span class=\'support support_function support_function_actionpack support_function_actionpack_rails\'>render<\/span> <span class=\'string string_quoted string_quoted_double string_quoted_double_ruby\'>&quot;/contacts/new.html.erb&quot;<\/span>\n");
document.write("\n");
document.write("    response<span class=\'meta meta_function-call meta_function-call_method meta_function-call_method_without-arguments meta_function-call_method_without-arguments_ruby\'>.<span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>should<\/span><\/span> <span class=\'meta meta_function-call meta_function-call_ruby\'><span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>include_text<\/span><\/span>(<span class=\'string string_quoted string_quoted_double string_quoted_double_ruby\'>&quot;message received&quot;<\/span>)\n");
document.write("  <span class=\'keyword keyword_control keyword_control_ruby\'>end<\/span>\n");
document.write("\n");
document.write("<span class=\'keyword keyword_control keyword_control_ruby\'>end<\/span>\n");
document.write("\n");
document.write("<span class=\'variable variable_other variable_other_constant variable_other_constant_ruby\'>Story<\/span> <span class=\'variable variable_other variable_other_constant variable_other_constant_ruby\'>Runner<\/span>\n");
document.write("<span class=\'variable variable_other variable_other_constant variable_other_constant_ruby\'>Steps<\/span>\n");
document.write("\n");
document.write("<span class=\'meta meta_function-call meta_function-call_ruby\'><span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>steps_for<\/span><\/span>(<span class=\'constant constant_other constant_other_symbol constant_other_symbol_ruby\'>:visitor_contacts<\/span>) <span class=\'keyword keyword_control keyword_control_ruby keyword_control_ruby_start-block\'>do<\/span>\n");
document.write("\n");
document.write("  <span class=\'variable variable_other variable_other_constant variable_other_constant_ruby\'>Given<\/span> <span class=\'string string_quoted string_quoted_double string_quoted_double_ruby\'>&quot;I am an anonymous visitor&quot;<\/span> <span class=\'keyword keyword_control keyword_control_ruby keyword_control_ruby_start-block\'>do<\/span>\n");
document.write("<span class=\'comment comment_line comment_line_number-sign comment_line_number-sign_ruby\'>    # no-op<\/span>\n");
document.write("  <span class=\'keyword keyword_control keyword_control_ruby\'>end<\/span>\n");
document.write("\n");
document.write("  <span class=\'variable variable_other variable_other_constant variable_other_constant_ruby\'>When<\/span> <span class=\'string string_quoted string_quoted_double string_quoted_double_ruby\'>&quot;I go to the contact form&quot;<\/span> <span class=\'keyword keyword_control keyword_control_ruby keyword_control_ruby_start-block\'>do<\/span>\n");
document.write("    visits <span class=\'string string_quoted string_quoted_double string_quoted_double_ruby\'>&quot;/contact&quot;<\/span>\n");
document.write("<span class=\'comment comment_line comment_line_number-sign comment_line_number-sign_ruby\'>    # puts response.body<\/span>\n");
document.write("  <span class=\'keyword keyword_control keyword_control_ruby\'>end<\/span>\n");
document.write("\n");
document.write("  <span class=\'variable variable_other variable_other_constant variable_other_constant_ruby\'>When<\/span> <span class=\'string string_quoted string_quoted_double string_quoted_double_ruby\'>&quot;I submit the form with valid data&quot;<\/span> <span class=\'keyword keyword_control keyword_control_ruby keyword_control_ruby_start-block\'>do<\/span>\n");
document.write("    fills_in <span class=\'string string_quoted string_quoted_single string_quoted_single_ruby\'>\'Name\'<\/span>, <span class=\'constant constant_other constant_other_symbol constant_other_symbol_ruby\'>:with<\/span> =&gt; <span class=\'string string_quoted string_quoted_single string_quoted_single_ruby\'>\'Lance\'<\/span>\n");
document.write("    fills_in <span class=\'string string_quoted string_quoted_single string_quoted_single_ruby\'>\'Email\'<\/span>, <span class=\'constant constant_other constant_other_symbol constant_other_symbol_ruby\'>:with<\/span> =&gt; <span class=\'string string_quoted string_quoted_single string_quoted_single_ruby\'>\'lance@whatever.com\'<\/span>\n");
document.write("    fills_in <span class=\'string string_quoted string_quoted_single string_quoted_single_ruby\'>\'Phone\'<\/span>, <span class=\'constant constant_other constant_other_symbol constant_other_symbol_ruby\'>:with<\/span> =&gt; <span class=\'string string_quoted string_quoted_single string_quoted_single_ruby\'>\'555-555-1212\'<\/span>\n");
document.write("    fills_in <span class=\'string string_quoted string_quoted_single string_quoted_single_ruby\'>\'Message\'<\/span>, <span class=\'constant constant_other constant_other_symbol constant_other_symbol_ruby\'>:with<\/span> =&gt; <span class=\'string string_quoted string_quoted_single string_quoted_single_ruby\'>\'Hello, what is this website about?\'<\/span>\n");
document.write("    clicks_button <span class=\'string string_quoted string_quoted_double string_quoted_double_ruby\'>&quot;Submit&quot;<\/span>\n");
document.write("  <span class=\'keyword keyword_control keyword_control_ruby\'>end<\/span>\n");
document.write("\n");
document.write("  <span class=\'variable variable_other variable_other_constant variable_other_constant_ruby\'>When<\/span> <span class=\'string string_quoted string_quoted_double string_quoted_double_ruby\'>&quot;I enter \'$data\' for $field&quot;<\/span> <span class=\'keyword keyword_control keyword_control_ruby keyword_control_ruby_start-block\'>do <\/span>|<span class=\'variable variable_other variable_other_block variable_other_block_ruby\'>data<\/span>, <span class=\'variable variable_other variable_other_block variable_other_block_ruby\'>field<\/span>|\n");
document.write("    fills_in field, <span class=\'constant constant_other constant_other_symbol constant_other_symbol_ruby\'>:with<\/span> =&gt; data\n");
document.write("  <span class=\'keyword keyword_control keyword_control_ruby\'>end<\/span>\n");
document.write("\n");
document.write("  <span class=\'variable variable_other variable_other_constant variable_other_constant_ruby\'>When<\/span> <span class=\'string string_quoted string_quoted_double string_quoted_double_ruby\'>&quot;I submit the form&quot;<\/span> <span class=\'keyword keyword_control keyword_control_ruby keyword_control_ruby_start-block\'>do<\/span>\n");
document.write("    clicks_button <span class=\'string string_quoted string_quoted_double string_quoted_double_ruby\'>&quot;Submit&quot;<\/span>\n");
document.write("  <span class=\'keyword keyword_control keyword_control_ruby\'>end<\/span>\n");
document.write("\n");
document.write("  <span class=\'variable variable_other variable_other_constant variable_other_constant_ruby\'>Then<\/span> <span class=\'keyword keyword_operator keyword_operator_arithmetic keyword_operator_arithmetic_ruby\'>/<\/span><span class=\'variable variable_other variable_other_constant variable_other_constant_ruby\'>I<\/span> should see <span class=\'string string_quoted string_quoted_single string_quoted_single_ruby\'>\'(.*)\'<\/span><span class=\'keyword keyword_operator keyword_operator_arithmetic keyword_operator_arithmetic_ruby\'>/<\/span> <span class=\'keyword keyword_control keyword_control_ruby keyword_control_ruby_start-block\'>do <\/span>|<span class=\'variable variable_other variable_other_block variable_other_block_ruby\'>text<\/span>|\n");
document.write("    response<span class=\'meta meta_function-call meta_function-call_method meta_function-call_method_without-arguments meta_function-call_method_without-arguments_ruby\'>.<span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>should<\/span><\/span> <span class=\'meta meta_function-call meta_function-call_ruby\'><span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>include_text<\/span><\/span>(text)\n");
document.write("  <span class=\'keyword keyword_control keyword_control_ruby\'>end<\/span>\n");
document.write("\n");
document.write("<span class=\'keyword keyword_control keyword_control_ruby\'>end<\/span>\n");
document.write("\n");
document.write("<span class=\'variable variable_other variable_other_constant variable_other_constant_ruby\'>Stories<\/span>\n");
document.write("\n");
document.write("<span class=\'variable variable_other variable_other_constant variable_other_constant_ruby\'>Story<\/span>: visitor contacts your site\n");
document.write("\n");
document.write("  <span class=\'variable variable_other variable_other_constant variable_other_constant_ruby\'>As<\/span> a visitor to your site\n");
document.write("  <span class=\'variable variable_other variable_other_constant variable_other_constant_ruby\'>I<\/span> want to contact your site\n");
document.write("  <span class=\'variable variable_other variable_other_constant variable_other_constant_ruby\'>So<\/span> that <span class=\'variable variable_other variable_other_constant variable_other_constant_ruby\'>I<\/span> can tell them how awesome the site is\n");
document.write("\n");
document.write("  <span class=\'variable variable_other variable_other_constant variable_other_constant_ruby\'>Scenario<\/span>: visitor sends message\n");
document.write("    <span class=\'variable variable_other variable_other_constant variable_other_constant_ruby\'>Given<\/span> <span class=\'variable variable_other variable_other_constant variable_other_constant_ruby\'>I<\/span> am an anonymous visitor\n");
document.write("    <span class=\'variable variable_other variable_other_constant variable_other_constant_ruby\'>When<\/span> <span class=\'variable variable_other variable_other_constant variable_other_constant_ruby\'>I<\/span> go to the contact form\n");
document.write("    <span class=\'variable variable_other variable_other_constant variable_other_constant_ruby\'>And<\/span> <span class=\'variable variable_other variable_other_constant variable_other_constant_ruby\'>I<\/span> submit the form with valid data\n");
document.write("    <span class=\'variable variable_other variable_other_constant variable_other_constant_ruby\'>Then<\/span> <span class=\'variable variable_other variable_other_constant variable_other_constant_ruby\'>I<\/span> should see <span class=\'string string_quoted string_quoted_single string_quoted_single_ruby\'>\'Contact Message Sent\'<\/span>\n");
document.write("\n");
document.write("  <span class=\'variable variable_other variable_other_constant variable_other_constant_ruby\'>Scenario<\/span>: invalid phone format\n");
document.write("    <span class=\'variable variable_other variable_other_constant variable_other_constant_ruby\'>Given<\/span> <span class=\'variable variable_other variable_other_constant variable_other_constant_ruby\'>I<\/span> am an anonymous visitor\n");
document.write("    <span class=\'variable variable_other variable_other_constant variable_other_constant_ruby\'>When<\/span> <span class=\'variable variable_other variable_other_constant variable_other_constant_ruby\'>I<\/span> go to the contact form\n");
document.write("    <span class=\'variable variable_other variable_other_constant variable_other_constant_ruby\'>And<\/span> <span class=\'variable variable_other variable_other_constant variable_other_constant_ruby\'>I<\/span> enter <span class=\'string string_quoted string_quoted_single string_quoted_single_ruby\'>\'123.4567\'<\/span> <span class=\'keyword keyword_control keyword_control_ruby\'>for<\/span> <span class=\'variable variable_other variable_other_constant variable_other_constant_ruby\'>Phone<\/span>\n");
document.write("    <span class=\'variable variable_other variable_other_constant variable_other_constant_ruby\'>And<\/span> <span class=\'variable variable_other variable_other_constant variable_other_constant_ruby\'>I<\/span> submit the form\n");
document.write("    <span class=\'variable variable_other variable_other_constant variable_other_constant_ruby\'>Then<\/span> <span class=\'variable variable_other variable_other_constant variable_other_constant_ruby\'>I<\/span> should see <span class=\'string string_quoted string_quoted_single string_quoted_single_ruby\'>\'Phone number is not valid\'<\/span>\n");
document.write("\n");
document.write("  <span class=\'variable variable_other variable_other_constant variable_other_constant_ruby\'>Scenario<\/span>: missing name\n");
document.write("    <span class=\'variable variable_other variable_other_constant variable_other_constant_ruby\'>Given<\/span> <span class=\'variable variable_other variable_other_constant variable_other_constant_ruby\'>I<\/span> am an anonymous visitor\n");
document.write("    <span class=\'variable variable_other variable_other_constant variable_other_constant_ruby\'>When<\/span> <span class=\'variable variable_other variable_other_constant variable_other_constant_ruby\'>I<\/span> go to the contact form\n");
document.write("    <span class=\'variable variable_other variable_other_constant variable_other_constant_ruby\'>And<\/span> <span class=\'variable variable_other variable_other_constant variable_other_constant_ruby\'>I<\/span> enter <span class=\'string string_quoted string_quoted_single string_quoted_single_ruby\'>\'\'<\/span> <span class=\'keyword keyword_control keyword_control_ruby\'>for<\/span> <span class=\'variable variable_other variable_other_constant variable_other_constant_ruby\'>Name<\/span>\n");
document.write("    <span class=\'variable variable_other variable_other_constant variable_other_constant_ruby\'>And<\/span> <span class=\'variable variable_other variable_other_constant variable_other_constant_ruby\'>I<\/span> submit the form\n");
document.write("    <span class=\'variable variable_other variable_other_constant variable_other_constant_ruby\'>Then<\/span> <span class=\'variable variable_other variable_other_constant variable_other_constant_ruby\'>I<\/span> should see <span class=\'string string_quoted string_quoted_single string_quoted_single_ruby\'>\'Name is required.\'<\/span>\n");
document.write("<\/pre><\/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("  \n");
document.write("  <div class=\"credit\">\n");
document.write("    <div class=\"buttons\">\n");
document.write("      <a href=\"http://pastie.org/pastes/393753.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/393753\">Pastie #393753<\/a> linked directly from <a href=\"http://pastie.org/\">Pastie<\/a>.\n");
document.write("  <\/div><\/div>");

