Sha256: 80a87d84853c4e0dae5242d9e91e05c4de1fb56cd74aba35618aafd04f490204
Contents?: true
Size: 1.08 KB
Versions: 1
Compression:
Stored size: 1.08 KB
Contents
class GeneralAbility include CanCan::Ability def initialize(user) if alpha?(user) can :manage, :planning end if beta?(user) can :manage, :asana_com end if in_country?(user,'Argentina') can :manage, :derose_events can :manage, :office_argentina end can :see, :mailchimp if petal_enabled?(user,'mailchimp') can :configure, :mailchimp end end private def in_country?(user,country_name) name = user.current_account.try(:name) if name @country = Rails.cache.fetch("countryfor#{name}") do padma_account(user).try(:country) end @country == country_name end end def padma_account(user) if user.current_account.respond_to?(:padma) user.current_account.padma else user.current_account end end def petal_enabled?(user,petal_name) petal_name.in?(padma_account(user).enabled_petals||[]) end def alpha?(user) user.account_tester_level == 'alpha' end def beta?(user) tl = user.account_tester_level tl == 'alpha' || tl == 'beta' end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
padma-assets-0.2.33 | app/abilities/general_ability.rb |