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("<h2>merb/filter.rb <\/h2>\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("<\/pre>\n");
document.write("			<\/td>\n");
document.write("		<td>\n");
document.write("		<pre class=\"textmate-source\"><pre class=\"sunburst\">\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\'>force_cas_check<\/span><\/span>\n");
document.write("  <span class=\'variable variable_other variable_other_readwrite variable_other_readwrite_instance variable_other_readwrite_instance_ruby\'>@client<\/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_constant variable_other_constant_ruby\'>CASClient<\/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\'>Client<\/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\'>new<\/span><\/span>(config)\n");
document.write("\n");
document.write("  service_ticket <span class=\'keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby\'>=<\/span> <span class=\'meta meta_function-call meta_function-call_ruby\'><span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>read_ticket<\/span><\/span>(<span class=\'variable variable_language variable_language_ruby\'>self<\/span>)\n");
document.write("\n");
document.write("  cas_login_url <span class=\'keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby\'>=<\/span> client<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\'>add_service_to_login_url<\/span><\/span>(<span class=\'meta meta_function-call meta_function-call_ruby\'><span class=\'entity entity_name entity_name_function entity_name_function_ruby\'>read_service_url<\/span><\/span>(<span class=\'variable variable_language variable_language_ruby\'>self<\/span>))\n");
document.write("\n");
document.write("  <span class=\'keyword keyword_control keyword_control_ruby\'>if<\/span> service_ticket\n");
document.write("\n");
document.write("    client<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\'>validate_service_ticket<\/span><\/span>(service_ticket) <span class=\'keyword keyword_control keyword_control_ruby\'>unless<\/span> service_ticket<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\'>has_been_validated?<\/span><\/span>\n");
document.write("\n");
document.write("    validation_response <span class=\'keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby\'>=<\/span> service_ticket<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\'>response<\/span><\/span>\n");
document.write("\n");
document.write("    <span class=\'keyword keyword_control keyword_control_ruby\'>if<\/span> service_ticket<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\'>is_valid?<\/span><\/span>\n");
document.write("\n");
document.write("      session[client<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\'>username_session_key<\/span><\/span>] <span class=\'keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby\'>=<\/span> validation_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\'>user<\/span><\/span>\n");
document.write("      session[client<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\'>extra_attributes_session_key<\/span><\/span>] <span class=\'keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby\'>=<\/span> validation_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\'>extra_attributes<\/span><\/span>\n");
document.write("\n");
document.write("      session[<span class=\'constant constant_other constant_other_symbol constant_other_symbol_ruby\'>:cas_last_valid_ticket<\/span>] <span class=\'keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby\'>=<\/span> service_ticket\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\'>true<\/span>\n");
document.write("    <span class=\'keyword keyword_control keyword_control_ruby\'>else<\/span>  \n");
document.write("      redirect cas_login_url\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\'>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\'>else<\/span>\n");
document.write("    log<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\'>warn<\/span><\/span>(<span class=\'string string_quoted string_quoted_double string_quoted_double_ruby\'>&quot;No ticket -- redirecting to <span class=\'source source_ruby source_ruby_embedded source_ruby_embedded_source\'>#{cas_login_url}<\/span>&quot;<\/span>)\n");
document.write("    redirect cas_login_url\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\'>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("<\/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("<hr />\n");
document.write("<h2>One of my controllers.rb <\/h2>\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("<\/pre>\n");
document.write("			<\/td>\n");
document.write("		<td>\n");
document.write("		<pre class=\"textmate-source\"><pre class=\"sunburst\">\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\'>CASClient<\/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\'>Frameworks<\/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\'>Merb<\/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\'>Filter<\/span><\/span>\n");
document.write("before <span class=\'constant constant_other constant_other_symbol constant_other_symbol_ruby\'>:force_cas_check<\/span>, <span class=\'constant constant_other constant_other_symbol constant_other_symbol_ruby\'>:only<\/span> =&gt; [<span class=\'string string_quoted string_quoted_double string_quoted_double_ruby\'>&quot;index&quot;<\/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\'>index<\/span><\/span>\n");
document.write("  <span class=\'support support_function support_function_actionpack support_function_actionpack_rails\'>render<\/span>\n");
document.write("<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/464470.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/464470\">Pastie #464470<\/a> linked directly from <a href=\"http://pastie.org/\">Pastie<\/a>.\n");
document.write("  <\/div><\/div>");
