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("<\/pre>\n");
document.write("			<\/td>\n");
document.write("		<td>\n");
document.write("		<pre class=\"textmate-source\"><pre class=\"sunburst\"><span class=\'meta meta_rails meta_rails_model\'><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\'>Menu<span class=\'entity entity_other entity_other_inherited-class entity_other_inherited-class_ruby\'> &lt; ActiveRecord::Base<\/span><\/span><\/span>\n");
document.write("<span class=\'support support_function support_function_activerecord support_function_activerecord_rails\'>has_many<\/span> <span class=\'constant constant_other constant_other_symbol constant_other_symbol_ruby\'>:menu_item<\/span>\n");
document.write("<span class=\'meta meta_require meta_require_ruby\'><span class=\'keyword keyword_other keyword_other_special-method keyword_other_special-method_ruby\'>require<\/span> <span class=\'string string_quoted string_quoted_single string_quoted_single_ruby\'>\'pp\'<\/span><\/span>\n");
document.write("<span class=\'meta meta_require meta_require_ruby\'><span class=\'keyword keyword_other keyword_other_special-method keyword_other_special-method_ruby\'>require<\/span> <span class=\'string string_quoted string_quoted_single string_quoted_single_ruby\'>\'shellwords\'<\/span><\/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\'>save<\/span>(<span class=\'variable variable_parameter variable_parameter_function variable_parameter_function_ruby\'>validate <span class=\'keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby\'>=<\/span> <span class=\'constant constant_language constant_language_ruby\'>true<\/span><\/span>)<\/span>\n");
document.write("    <span class=\'variable variable_language variable_language_ruby\'>self<\/span>.id <span class=\'keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby\'>=<\/span> <span class=\'variable variable_other variable_other_readwrite variable_other_readwrite_class variable_other_readwrite_class_ruby\'>@@menu<\/span>.length\n");
document.write("    <span class=\'variable variable_other variable_other_readwrite variable_other_readwrite_class variable_other_readwrite_class_ruby\'>@@menu<\/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=\'support support_function support_function_activerecord support_function_activerecord_rails\'>validate<\/span> <span class=\'keyword keyword_operator keyword_operator_comparison keyword_operator_comparison_ruby\'>?<\/span> valid? : <span class=\'constant constant_language constant_language_ruby\'>true<\/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\'>self.count<\/span>(<span class=\'variable variable_parameter variable_parameter_function variable_parameter_function_ruby\'><span class=\'keyword keyword_operator keyword_operator_arithmetic keyword_operator_arithmetic_ruby\'>*<\/span>args<\/span>)<\/span>\n");
document.write("    <span class=\'keyword keyword_control keyword_control_pseudo-method keyword_control_pseudo-method_ruby\'>return<\/span>(<span class=\'variable variable_other variable_other_readwrite variable_other_readwrite_class variable_other_readwrite_class_ruby\'>@@menu<\/span>.length)\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\'>self.columns<\/span><\/span>\n");
document.write("    <span class=\'variable variable_other variable_other_readwrite variable_other_readwrite_instance variable_other_readwrite_instance_ruby\'>@columns<\/span> <span class=\'keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_augmented keyword_operator_assignment_augmented_ruby\'>||=<\/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\'>self.column<\/span>(<span class=\'variable variable_parameter variable_parameter_function variable_parameter_function_ruby\'>name, sql_type <span class=\'keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby\'>=<\/span> <span class=\'constant constant_language constant_language_ruby\'>nil<\/span>, default <span class=\'keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby\'>=<\/span> <span class=\'constant constant_language constant_language_ruby\'>nil<\/span>, null <span class=\'keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby\'>=<\/span> <span class=\'constant constant_language constant_language_ruby\'>true<\/span><\/span>)<\/span>\n");
document.write("    columns <span class=\'keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_augmented keyword_operator_assignment_augmented_ruby\'>&lt;&lt;<\/span> <span class=\'support support_class support_class_ruby\'>ActiveRecord<\/span>::<span class=\'support support_class support_class_ruby\'>ConnectionAdapters<\/span>::<span class=\'support support_class support_class_ruby\'>Column<\/span>.<span class=\'keyword keyword_other keyword_other_special-method keyword_other_special-method_ruby\'>new<\/span>(name.to_s, default, sql_type.to_s, null)\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\'>self.parse_menu_item<\/span>(<span class=\'variable variable_parameter variable_parameter_function variable_parameter_function_ruby\'>m, fullpath<\/span>)<\/span>\n");
document.write("    tFile <span class=\'keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby\'>=<\/span> <span class=\'support support_class support_class_ruby\'>File<\/span>.open(fullpath)\n");
document.write("    rmod <span class=\'keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby\'>=<\/span> <span class=\'constant constant_language constant_language_ruby\'>false<\/span>\n");
document.write("    state <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;Method&quot;<\/span>\n");
document.write("    tFile.each {|<span class=\'variable variable_other variable_other_block variable_other_block_ruby\'>line<\/span>|\n");
document.write("      line.chomp!\n");
document.write("      line.strip!\n");
document.write("      <span class=\'keyword keyword_control keyword_control_ruby\'>if<\/span> (rmod)\n");
document.write("        cidx <span class=\'keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby\'>=<\/span> line.index(<span class=\'string string_quoted string_quoted_double string_quoted_double_ruby\'>&quot;#&quot;<\/span>)\n");
document.write("        <span class=\'keyword keyword_control keyword_control_ruby\'>if<\/span> (cidx)\n");
document.write("          line <span class=\'keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby\'>=<\/span> line[<span class=\'constant constant_numeric constant_numeric_ruby\'>0<\/span>,cidx]\n");
document.write("        <span class=\'keyword keyword_control keyword_control_ruby\'>end<\/span>\n");
document.write("        tokens <span class=\'keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby\'>=<\/span> <span class=\'support support_class support_class_ruby\'>Shellwords<\/span>.shellwords(line)\n");
document.write("        <span class=\'keyword keyword_control keyword_control_ruby\'>while<\/span> tokens.length <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("          tokens[<span class=\'constant constant_numeric constant_numeric_ruby\'>0<\/span>].delete!(<span class=\'string string_quoted string_quoted_double string_quoted_double_ruby\'>&quot;\'&quot;<\/span>)\n");
document.write("          tokens[<span class=\'constant constant_numeric constant_numeric_ruby\'>0<\/span>].delete!(<span class=\'string string_quoted string_quoted_single string_quoted_single_ruby\'>\'&quot;\'<\/span>)\n");
document.write("<span class=\'comment comment_line comment_line_number-sign comment_line_number-sign_ruby\'>          #print state+&quot; &quot;+ tokens[0]+&quot;\\n&quot;<\/span>\n");
document.write("          <span class=\'keyword keyword_control keyword_control_ruby\'>case<\/span> state\n");
document.write("            <span class=\'keyword keyword_control keyword_control_ruby\'>when<\/span> <span class=\'string string_quoted string_quoted_double string_quoted_double_ruby\'>&quot;Method&quot;<\/span>\n");
document.write("              methodname <span class=\'keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby\'>=<\/span> tokens.shift\n");
document.write("              state <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;MenuName&quot;<\/span>\n");
document.write("            <span class=\'keyword keyword_control keyword_control_ruby\'>when<\/span> <span class=\'string string_quoted string_quoted_double string_quoted_double_ruby\'>&quot;MenuName&quot;<\/span>\n");
document.write("              menuname <span class=\'keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby\'>=<\/span> tokens.shift\n");
document.write("              state <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;WaitForDo&quot;<\/span>\n");
document.write("            <span class=\'keyword keyword_control keyword_control_ruby\'>when<\/span> <span class=\'string string_quoted string_quoted_double string_quoted_double_ruby\'>&quot;WaitForDo&quot;<\/span>\n");
document.write("              dotoken <span class=\'keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby\'>=<\/span> tokens.shift\n");
document.write("              <span class=\'keyword keyword_control keyword_control_ruby\'>if<\/span> dotoken <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;do&quot;<\/span>\n");
document.write("                state <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;WaitForAddTab&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\'>when<\/span> <span class=\'string string_quoted string_quoted_double string_quoted_double_ruby\'>&quot;WaitForAddTab&quot;<\/span>\n");
document.write("              addtoken <span class=\'keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby\'>=<\/span> tokens.shift\n");
document.write("              <span class=\'keyword keyword_control keyword_control_ruby\'>if<\/span> addtoken <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;add_tab&quot;<\/span>\n");
document.write("                state <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;WaitForInfo&quot;<\/span>\n");
document.write("                <span class=\'variable variable_other variable_other_readwrite variable_other_readwrite_instance variable_other_readwrite_instance_ruby\'>@menuitem<\/span> <span class=\'keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby\'>=<\/span> <span class=\'support support_class support_class_ruby\'>MenuItem<\/span>.<span class=\'keyword keyword_other keyword_other_special-method keyword_other_special-method_ruby\'>new<\/span>\n");
document.write("<span class=\'comment comment_line comment_line_number-sign comment_line_number-sign_ruby\'>                #pp @menuitem<\/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\'>when<\/span> <span class=\'string string_quoted string_quoted_double string_quoted_double_ruby\'>&quot;WaitForInfo&quot;<\/span>\n");
document.write("              infotoken <span class=\'keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby\'>=<\/span> tokens.shift\n");
document.write("              <span class=\'keyword keyword_control keyword_control_ruby\'>if<\/span> infotoken.include?(<span class=\'string string_quoted string_quoted_double string_quoted_double_ruby\'>&quot;named&quot;<\/span>)\n");
document.write("                state <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;WaitForName&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\'>if<\/span> infotoken.include?(<span class=\'string string_quoted string_quoted_double string_quoted_double_ruby\'>&quot;titled&quot;<\/span>)\n");
document.write("                state <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;WaitForTitle&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\'>if<\/span> infotoken.include?(<span class=\'string string_quoted string_quoted_double string_quoted_double_ruby\'>&quot;:controller&quot;<\/span>)\n");
document.write("                state <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;WaitForExpLink&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\'>if<\/span> infotoken <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;end&quot;<\/span>\n");
document.write("                <span class=\'variable variable_other variable_other_readwrite variable_other_readwrite_instance variable_other_readwrite_instance_ruby\'>@menuitem<\/span>.menu_id <span class=\'keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby\'>=<\/span> m.id\n");
document.write("                <span class=\'variable variable_other variable_other_readwrite variable_other_readwrite_instance variable_other_readwrite_instance_ruby\'>@menuitem<\/span>.save\n");
document.write("                state <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;WaitForAddTab&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\'>when<\/span> <span class=\'string string_quoted string_quoted_double string_quoted_double_ruby\'>&quot;WaitForExpLink&quot;<\/span>\n");
document.write("                exp <span class=\'keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby\'>=<\/span> tokens.shift\n");
document.write("                state <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;WaitForLink&quot;<\/span>\n");
document.write("            <span class=\'keyword keyword_control keyword_control_ruby\'>when<\/span> <span class=\'string string_quoted string_quoted_double string_quoted_double_ruby\'>&quot;WaitForName&quot;<\/span>\n");
document.write("<span class=\'comment comment_line comment_line_number-sign comment_line_number-sign_ruby\'>                #pp @menuitem<\/span>\n");
document.write("                <span class=\'variable variable_other variable_other_readwrite variable_other_readwrite_instance variable_other_readwrite_instance_ruby\'>@menuitem<\/span>.name <span class=\'keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby\'>=<\/span> tokens.shift\n");
document.write("                state <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;WaitForInfo&quot;<\/span>\n");
document.write("            <span class=\'keyword keyword_control keyword_control_ruby\'>when<\/span> <span class=\'string string_quoted string_quoted_double string_quoted_double_ruby\'>&quot;WaitForTitle&quot;<\/span>\n");
document.write("                <span class=\'variable variable_other variable_other_readwrite variable_other_readwrite_instance variable_other_readwrite_instance_ruby\'>@menuitem<\/span>.title <span class=\'keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby\'>=<\/span> tokens.shift\n");
document.write("                state <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;WaitForInfo&quot;<\/span>\n");
document.write("            <span class=\'keyword keyword_control keyword_control_ruby\'>when<\/span> <span class=\'string string_quoted string_quoted_double string_quoted_double_ruby\'>&quot;WaitForLink&quot;<\/span>\n");
document.write("                <span class=\'variable variable_other variable_other_readwrite variable_other_readwrite_instance variable_other_readwrite_instance_ruby\'>@menuitem<\/span>.ctrl <span class=\'keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby\'>=<\/span> tokens.shift\n");
document.write("                state <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;WaitForInfo&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 class=\'keyword keyword_control keyword_control_ruby\'>end<\/span>\n");
document.write("      ridx <span class=\'keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby\'>=<\/span> line.index(<span class=\'string string_quoted string_quoted_double string_quoted_double_ruby\'>&quot;&lt;%&quot;<\/span>)\n");
document.write("      <span class=\'keyword keyword_control keyword_control_ruby\'>if<\/span> (ridx)\n");
document.write("        rmod <span class=\'keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby\'>=<\/span> <span class=\'constant constant_language constant_language_ruby\'>true<\/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=\'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\'>self.walk_menu_dir<\/span>(<span class=\'variable variable_parameter variable_parameter_function variable_parameter_function_ruby\'>upperdir,basepath<\/span>)<\/span>\n");
document.write("    <span class=\'keyword keyword_control keyword_control_ruby\'>if<\/span> basepath <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;&quot;<\/span>\n");
document.write("      mm <span class=\'keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby\'>=<\/span> <span class=\'support support_class support_class_ruby\'>Rails<\/span>::<span class=\'support support_class support_class_ruby\'>Configuration<\/span>.<span class=\'keyword keyword_other keyword_other_special-method keyword_other_special-method_ruby\'>new<\/span>\n");
document.write("      basedir <span class=\'keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby\'>=<\/span> mm.root_path <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;/app/views/widgets&quot;<\/span>\n");
document.write("      mm <span class=\'keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby\'>=<\/span> <span class=\'constant constant_language constant_language_ruby\'>nil<\/span>\n");
document.write("    <span class=\'keyword keyword_control keyword_control_ruby\'>else<\/span>\n");
document.write("      basedir <span class=\'keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby\'>=<\/span> basepath\n");
document.write("    <span class=\'keyword keyword_control keyword_control_ruby\'>end<\/span>\n");
document.write("\n");
document.write("    <span class=\'support support_class support_class_ruby\'>Dir<\/span>.foreach(basedir) {<span class=\'meta meta_syntax meta_syntax_ruby meta_syntax_ruby_start-block\'> <\/span>|<span class=\'variable variable_other variable_other_block variable_other_block_ruby\'>filename<\/span>|\n");
document.write("      fullpath <span class=\'keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby\'>=<\/span> basedir <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\'>\'/\'<\/span> <span class=\'keyword keyword_operator keyword_operator_arithmetic keyword_operator_arithmetic_ruby\'>+<\/span> filename\n");
document.write("      <span class=\'keyword keyword_control keyword_control_ruby\'>if<\/span> <span class=\'support support_class support_class_ruby\'>File<\/span>.extname(fullpath) <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;.rhtml&quot;<\/span>\n");
document.write("        <span class=\'keyword keyword_control keyword_control_ruby\'>if<\/span> fullpath.include?(<span class=\'string string_quoted string_quoted_double string_quoted_double_ruby\'>&quot;_tabnav&quot;<\/span>)\n");
document.write("          m <span class=\'keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby\'>=<\/span> <span class=\'support support_class support_class_ruby\'>Menu<\/span>.<span class=\'keyword keyword_other keyword_other_special-method keyword_other_special-method_ruby\'>new<\/span>\n");
document.write("          m.name <span class=\'keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby\'>=<\/span> filename.chomp(<span class=\'string string_quoted string_quoted_double string_quoted_double_ruby\'>&quot;_tabnav.rhtml&quot;<\/span>)\n");
document.write("          m.name <span class=\'keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby\'>=<\/span> m.name.delete(<span class=\'string string_quoted string_quoted_double string_quoted_double_ruby\'>&quot;_&quot;<\/span>)\n");
document.write("          m.save\n");
document.write("          parse_menu_item(m, fullpath)\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=\'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\'>self.find<\/span>(<span class=\'variable variable_parameter variable_parameter_function variable_parameter_function_ruby\'><span class=\'keyword keyword_operator keyword_operator_arithmetic keyword_operator_arithmetic_ruby\'>*<\/span>args<\/span>)<\/span>\n");
document.write("    <span class=\'keyword keyword_control keyword_control_ruby\'>if<\/span> args.first.to_s <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;all&quot;<\/span>\n");
document.write("      <span class=\'keyword keyword_control keyword_control_pseudo-method keyword_control_pseudo-method_ruby\'>return<\/span> <span class=\'variable variable_other variable_other_readwrite variable_other_readwrite_class variable_other_readwrite_class_ruby\'>@@menu<\/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\'>if<\/span> args.first.class <span class=\'keyword keyword_operator keyword_operator_comparison keyword_operator_comparison_ruby\'>==<\/span> <span class=\'variable variable_other variable_other_constant variable_other_constant_ruby\'>Fixnum<\/span>\n");
document.write("      idx <span class=\'keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby\'>=<\/span> args.first\n");
document.write("      <span class=\'keyword keyword_control keyword_control_ruby\'>if<\/span> idx <span class=\'keyword keyword_operator keyword_operator_comparison keyword_operator_comparison_ruby\'>&lt;<\/span> <span class=\'constant constant_numeric constant_numeric_ruby\'>0<\/span>\n");
document.write("        <span class=\'keyword keyword_control keyword_control_pseudo-method keyword_control_pseudo-method_ruby\'>return<\/span> <span class=\'constant constant_language constant_language_ruby\'>nil<\/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\'>if<\/span> idx <span class=\'keyword keyword_operator keyword_operator_comparison keyword_operator_comparison_ruby\'>&gt;=<\/span> <span class=\'variable variable_other variable_other_readwrite variable_other_readwrite_class variable_other_readwrite_class_ruby\'>@@menu<\/span>.size\n");
document.write("        <span class=\'keyword keyword_control keyword_control_pseudo-method keyword_control_pseudo-method_ruby\'>return<\/span> <span class=\'constant constant_language constant_language_ruby\'>nil<\/span>\n");
document.write("      <span class=\'keyword keyword_control keyword_control_ruby\'>end<\/span>\n");
document.write("      <span class=\'keyword keyword_control keyword_control_pseudo-method keyword_control_pseudo-method_ruby\'>return<\/span> <span class=\'variable variable_other variable_other_readwrite variable_other_readwrite_class variable_other_readwrite_class_ruby\'>@@menu<\/span>[idx]\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("\n");
document.write("  column <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\'>:string<\/span>\n");
document.write("  column <span class=\'constant constant_other constant_other_symbol constant_other_symbol_ruby\'>:path<\/span>,    <span class=\'constant constant_other constant_other_symbol constant_other_symbol_ruby\'>:string<\/span>\n");
document.write("\n");
document.write("  <span class=\'variable variable_other variable_other_readwrite variable_other_readwrite_class variable_other_readwrite_class_ruby\'>@@menu<\/span> <span class=\'keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby\'>=<\/span> <span class=\'support support_class support_class_ruby\'>Array<\/span>.<span class=\'keyword keyword_other keyword_other_special-method keyword_other_special-method_ruby\'>new<\/span>\n");
document.write("  walk_menu_dir(<span class=\'string string_quoted string_quoted_double string_quoted_double_ruby\'>&quot;&quot;<\/span>,<span class=\'string string_quoted string_quoted_double string_quoted_double_ruby\'>&quot;&quot;<\/span>)\n");
document.write("\n");
document.write("<\/span><span class=\'keyword keyword_control keyword_control_ruby\'>end<\/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/652332.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/652332\">Pastie #652332<\/a> linked directly from <a href=\"http://pastie.org/\">Pastie<\/a>.\n");
document.write("  <\/div><\/div>");
