title: Sort hash based on conditions
body: <p>I have a hash like this:</p>
  
  <pre><code>roles = {
     "teachers"   =&gt; [{name: "A"}, {name: "B"}, {name: "C"}], 
     "electrician"=&gt; [{name: "D"}, {name: "E"}, {name: "F"}],
     "painters"   =&gt; [{name: "G"}, {name: "H"}, {name: "I"}],
     "carpenters" =&gt; [{name: "J"}, {name: "K"}, {name: "L"}],
     "gardeners"  =&gt; [{name: "P"}, {name: "Q"}, {name: "R"}], 
  }
  </code></pre>
  
  <p>I also have an array <code>negative_roles</code> that consists of negative roles:</p>
  
  <pre><code>negative_roles = ["electrician", "teachers", "carpenters"]
  </code></pre>
  
  <p><code>roles</code> should be sorted so that all negative roles come later like this:</p>
  
  <pre><code>roles = { 
     "painters"   =&gt; [{name: "G"}, {name: "H"}, {name: "I"}],
     "gardeners"  =&gt; [{name: "P"}, {name: "Q"}, {name: "R"}], 
     "electrician"=&gt; [{name: "M"}, {name: "N"}, {name: "O"}],
     "teachers"   =&gt; [{name: "A"}, {name: "B"}, {name: "C"}],
     "carpenters" =&gt; [{name: "J"}, {name: "K"}, {name: "L"}], 
  }
  </code></pre>
  
  <p>How can I do it?</p>