Sha256: d597060c35ffdb50fb9102a764c0a06463bb9c02fa9546cad24152e207f24369

Contents?: true

Size: 784 Bytes

Versions: 5

Compression:

Stored size: 784 Bytes

Contents

module Locomotive
  class MembershipPresenter < BasePresenter

    delegate :role, :account_id, :to => :source

    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

    def included_methods
      super + %w(account_id name email role role_name can_update grant_admin)
    end

    # def light_as_json
    #   methods = included_methods.clone - %w(name email)
    #   self.as_json(methods)
    # end

  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
locomotive_cms-2.0.0.rc12 app/presenters/locomotive/membership_presenter.rb
locomotive_cms-2.0.0.rc11 app/presenters/locomotive/membership_presenter.rb
locomotive_cms-2.0.0.rc10 app/presenters/locomotive/membership_presenter.rb
locomotive_cms-2.0.0.rc9 app/presenters/locomotive/membership_presenter.rb
locomotive_cms-2.0.0.rc8 app/presenters/locomotive/membership_presenter.rb