Sha256: 10ee1c4fbbc99ebad7d20be2f9f5a87d2e0ee3afe1b7b8fc06c5eff10d0169d2

Contents?: true

Size: 975 Bytes

Versions: 47

Compression:

Stored size: 975 Bytes

Contents

module DeviseInvitable
  module Inviter
    extend ActiveSupport::Concern

    included do
      extend ClassMethods
      attr_writer :invitation_limit unless respond_to? :invitation_limit
    end

    def invitation_limit
      self[:invitation_limit] || self.class.invitation_limit
    end

    # Return true if this user has invitations left to send
    def has_invitations_left?
      if self.class.invitation_limit.present?
        if invitation_limit
          return invitation_limit > 0
        else
          return self.class.invitation_limit > 0
        end
      else
        return true
      end
    end

    protected
      def decrement_invitation_limit!
        if self.class.invitation_limit.present?
          self.invitation_limit ||= self.class.invitation_limit
          self.update_attribute(:invitation_limit, invitation_limit - 1)
        end
      end

    module ClassMethods
      Devise::Models.config(self, :invitation_limit)
    end
  end
end

Version data entries

47 entries across 47 versions & 1 rubygems

Version Path
devise_invitable-2.0.0 lib/devise_invitable/inviter.rb
devise_invitable-1.7.5 lib/devise_invitable/inviter.rb
devise_invitable-1.7.4 lib/devise_invitable/inviter.rb
devise_invitable-1.7.3 lib/devise_invitable/inviter.rb
devise_invitable-1.7.2 lib/devise_invitable/inviter.rb
devise_invitable-1.7.1 lib/devise_invitable/inviter.rb
devise_invitable-1.7.0 lib/devise_invitable/inviter.rb
devise_invitable-1.6.1 lib/devise_invitable/inviter.rb
devise_invitable-1.6.0 lib/devise_invitable/inviter.rb
devise_invitable-1.5.5 lib/devise_invitable/inviter.rb
devise_invitable-1.5.3 lib/devise_invitable/inviter.rb
devise_invitable-1.5.2 lib/devise_invitable/inviter.rb
devise_invitable-1.5.1 lib/devise_invitable/inviter.rb
devise_invitable-1.5.0 lib/devise_invitable/inviter.rb
devise_invitable-1.4.2 lib/devise_invitable/inviter.rb
devise_invitable-1.4.1 lib/devise_invitable/inviter.rb
devise_invitable-1.4.0 lib/devise_invitable/inviter.rb
devise_invitable-1.3.6 lib/devise_invitable/inviter.rb
devise_invitable-1.3.5 lib/devise_invitable/inviter.rb
devise_invitable-1.3.4 lib/devise_invitable/inviter.rb