Sha256: 5a03324c7f847702b67cecfae2ef45b1fc941ba577390ecd32fd5eb27e56ce99

Contents?: true

Size: 745 Bytes

Versions: 13

Compression:

Stored size: 745 Bytes

Contents

module Locomotive
  class MembershipPresenter < BasePresenter

    ## properties ##

    property    :role
    properties  :role_name, :can_update, :grant_admin, only_getter: true
    property    :account_id
    properties  :name, :email, only_getter: true

    ## other getters / setters ##

    def name
      self.__source.account.name
    end

    def role_name
      I18n.t("locomotive.memberships.roles.#{self.__source.role}")
    end

    def email
      self.__source.account.email
    end

    def can_update
      return nil unless self.ability?
      self.__ability.can? :update, self.__source
    end

    def grant_admin
      return nil unless self.ability?
      self.__ability.can? :grant_admin, self.__source
    end

  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
locomotive_cms-2.2.3 app/presenters/locomotive/membership_presenter.rb
locomotive_cms-2.2.2 app/presenters/locomotive/membership_presenter.rb
locomotive_cms-2.2.1 app/presenters/locomotive/membership_presenter.rb
locomotive_cms-2.2.0 app/presenters/locomotive/membership_presenter.rb
locomotive_cms-2.1.4 app/presenters/locomotive/membership_presenter.rb
locomotive_cms-2.1.3 app/presenters/locomotive/membership_presenter.rb
locomotive_cms-2.1.2 app/presenters/locomotive/membership_presenter.rb
locomotive_cms-2.1.1 app/presenters/locomotive/membership_presenter.rb
locomotive_cms-2.1.0 app/presenters/locomotive/membership_presenter.rb
locomotive_cms-2.0.3 app/presenters/locomotive/membership_presenter.rb
locomotive_cms-2.0.2 app/presenters/locomotive/membership_presenter.rb
locomotive_cms-2.0.1 app/presenters/locomotive/membership_presenter.rb
locomotive_cms-2.0.0 app/presenters/locomotive/membership_presenter.rb