<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>MergeRequestsLoadContext</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <link rel="stylesheet" href="../css/reset.css" type="text/css" media="screen" /> <link rel="stylesheet" href="../css/main.css" type="text/css" media="screen" /> <link rel="stylesheet" href="../css/github.css" type="text/css" media="screen" /> <script src="../js/jquery-1.3.2.min.js" type="text/javascript" charset="utf-8"></script> <script src="../js/jquery-effect.js" type="text/javascript" charset="utf-8"></script> <script src="../js/main.js" type="text/javascript" charset="utf-8"></script> <script src="../js/highlight.pack.js" type="text/javascript" charset="utf-8"></script> </head> <body> <div class="banner"> <h1> <span class="type">Class</span> MergeRequestsLoadContext <span class="parent">< <a href="BaseContext.html">BaseContext</a> </span> </h1> <ul class="files"> <li><a href="../files/app/contexts/merge_requests_load_context_rb.html">app/contexts/merge_requests_load_context.rb</a></li> </ul> </div> <div id="bodyContent"> <div id="content"> <div class="description"> <p>Build collection of Merge Requests based on filtering passed via params for @project</p> </div> <!-- Method ref --> <div class="sectiontitle">Methods</div> <dl class="methods"> <dt>E</dt> <dd> <ul> <li> <a href="#method-i-execute">execute</a> </li> </ul> </dd> </dl> <!-- Methods --> <div class="sectiontitle">Instance Public methods</div> <div class="method"> <div class="title method-title" id="method-i-execute"> <b>execute</b>() <a href="../classes/MergeRequestsLoadContext.html#method-i-execute" name="method-i-execute" class="permalink">Link</a> </div> <div class="description"> </div> <div class="sourcecode"> <p class="source-link"> Source: <a href="javascript:toggleSource('method-i-execute_source')" id="l_method-i-execute_source">show</a> </p> <div id="method-i-execute_source" class="dyn-source"> <pre><span class="ruby-comment"># File app/contexts/merge_requests_load_context.rb, line 4</span> <span class="ruby-keyword">def</span> <span class="ruby-keyword ruby-title">execute</span> <span class="ruby-identifier">type</span> = <span class="ruby-identifier">params</span>[<span class="ruby-value">:f</span>] <span class="ruby-identifier">merge_requests</span> = <span class="ruby-identifier">project</span>.<span class="ruby-identifier">merge_requests</span> <span class="ruby-identifier">merge_requests</span> = <span class="ruby-keyword">case</span> <span class="ruby-identifier">type</span> <span class="ruby-keyword">when</span> <span class="ruby-string">'all'</span> <span class="ruby-keyword">then</span> <span class="ruby-identifier">merge_requests</span> <span class="ruby-keyword">when</span> <span class="ruby-string">'closed'</span> <span class="ruby-keyword">then</span> <span class="ruby-identifier">merge_requests</span>.<span class="ruby-identifier">closed</span> <span class="ruby-keyword">when</span> <span class="ruby-string">'assigned-to-me'</span> <span class="ruby-keyword">then</span> <span class="ruby-identifier">merge_requests</span>.<span class="ruby-identifier">opened</span>.<span class="ruby-identifier">assigned</span>(<span class="ruby-identifier">current_user</span>) <span class="ruby-keyword">else</span> <span class="ruby-identifier">merge_requests</span>.<span class="ruby-identifier">opened</span> <span class="ruby-keyword">end</span> <span class="ruby-identifier">merge_requests</span> = <span class="ruby-identifier">merge_requests</span>.<span class="ruby-identifier">page</span>(<span class="ruby-identifier">params</span>[<span class="ruby-value">:page</span>]).<span class="ruby-identifier">per</span>(<span class="ruby-number">20</span>) <span class="ruby-identifier">merge_requests</span> = <span class="ruby-identifier">merge_requests</span>.<span class="ruby-identifier">includes</span>(<span class="ruby-value">:author</span>, <span class="ruby-value">:project</span>).<span class="ruby-identifier">order</span>(<span class="ruby-string">"closed, created_at desc"</span>) <span class="ruby-comment"># Filter by specific assignee_id (or lack thereof)?</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">params</span>[<span class="ruby-value">:assignee_id</span>].<span class="ruby-identifier">present?</span> <span class="ruby-identifier">merge_requests</span> = <span class="ruby-identifier">merge_requests</span>.<span class="ruby-identifier">where</span>(<span class="ruby-identifier">assignee_id</span><span class="ruby-operator">:</span> (<span class="ruby-identifier">params</span>[<span class="ruby-value">:assignee_id</span>] <span class="ruby-operator">==</span> <span class="ruby-string">'0'</span> <span class="ruby-operator">?</span> <span class="ruby-keyword">nil</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">params</span>[<span class="ruby-value">:assignee_id</span>])) <span class="ruby-keyword">end</span> <span class="ruby-comment"># Filter by specific milestone_id (or lack thereof)?</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">params</span>[<span class="ruby-value">:milestone_id</span>].<span class="ruby-identifier">present?</span> <span class="ruby-identifier">merge_requests</span> = <span class="ruby-identifier">merge_requests</span>.<span class="ruby-identifier">where</span>(<span class="ruby-identifier">milestone_id</span><span class="ruby-operator">:</span> (<span class="ruby-identifier">params</span>[<span class="ruby-value">:milestone_id</span>] <span class="ruby-operator">==</span> <span class="ruby-string">'0'</span> <span class="ruby-operator">?</span> <span class="ruby-keyword">nil</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">params</span>[<span class="ruby-value">:milestone_id</span>])) <span class="ruby-keyword">end</span> <span class="ruby-identifier">merge_requests</span> <span class="ruby-keyword">end</span></pre> </div> </div> </div> </div> </div> </body> </html>