Class: Skydrive::User

Inherits:
ActiveRecord::Base
  • Object
show all
Includes:
ActiveModel::ForbiddenAttributesProtection
Defined in:
app/models/skydrive/user.rb

Instance Method Summary collapse

Instance Method Details

#cleanup_api_keysObject



20
21
22
# File 'app/models/skydrive/user.rb', line 20

def cleanup_api_keys
  api_keys.inactive.each(&:destroy)
end

#ensure_tokenObject



28
29
30
# File 'app/models/skydrive/user.rb', line 28

def ensure_token
  self.token = self.create_token unless self.token
end

#onedrive_clientObject

Convenience method



38
39
40
41
42
43
44
# File 'app/models/skydrive/user.rb', line 38

def onedrive_client
  @onedrive_client ||=
      Client.new(SHAREPOINT.merge(
                     personal_url: self.token.personal_url,
                     token: self.token.access_token
                 ))
end

#reset_token!Object



32
33
34
35
# File 'app/models/skydrive/user.rb', line 32

def reset_token!
  self.token.delete
  ensure_token
end

#session_api_key(params = {}) ⇒ Object



12
13
14
15
16
17
18
# File 'app/models/skydrive/user.rb', line 12

def session_api_key(params={})
  ApiKey.create(
    user_id: self.id,
    scope: 'session',
    init_params: params.to_json
  )
end

#valid_skydrive_token?Boolean

Returns:

  • (Boolean)


24
25
26
# File 'app/models/skydrive/user.rb', line 24

def valid_skydrive_token?
  !!self.token && self.token.is_valid?
end