Method: Rack::OAuth2::Server::AccessToken.count

Defined in:
lib/rack/oauth2/models/access_token.rb

.count(filter = {}) ⇒ Object

Returns count of access tokens.

Parameters:

  • filter (Hash) (defaults to: {})

    Count only a subset of access tokens

Options Hash (filter):

  • days (Integer)

    Only count that many days (since now)

  • revoked (Boolean)

    Only count revoked (true) or non-revoked (false) tokens; count all tokens if nil

  • client_id (String, ObjectId)

    Only tokens grant to this client



67
68
69
70
71
72
73
74
75
76
77
78
# File 'lib/rack/oauth2/models/access_token.rb', line 67

def count(filter = {})
  select = {}
  if filter[:days]
    now = Time.now.to_i
    range = { :$gt=>now - filter[:days] * 86400, :$lte=>now }
    select[ filter[:revoked] ? :revoked : :created_at ] = range
  elsif filter.has_key?(:revoked)
    select[:revoked] = filter[:revoked] ? { :$ne=>nil } : { :$eq=>nil }
  end
  select[:client_id] = BSON::ObjectId(filter[:client_id].to_s) if filter[:client_id]
  collection.find(select).count
end