Sha256: 7a0807c73e430d6b678c9ce85b3b807bba10800dc0357f9aa83cb863837b4786
Contents?: true
Size: 1.08 KB
Versions: 6
Compression:
Stored size: 1.08 KB
Contents
class GeneralAbility include CanCan::Ability def initialize(user) if alpha?(user) can :manage, :hubspot end if beta?(user) end if in_country?(user,'Argentina') can :manage, :derose_events can :manage, :office_argentina end can :manage, :asana_com 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
6 entries across 6 versions & 1 rubygems