customized cancan gem to be able to manipulate permissions and roles dynamically via database without depending on verifiying it statically in ability.rb