Class: SkipEmbedded::RpService::OauthProxy

Inherits:
Object
  • Object
show all
Defined in:
lib/skip_embedded/rp_service/oauth_proxy.rb

Instance Method Summary collapse

Constructor Details

#initialize(service, token, secret) ⇒ OauthProxy

Returns a new instance of OauthProxy.



7
8
9
10
11
# File 'lib/skip_embedded/rp_service/oauth_proxy.rb', line 7

def initialize(service, token, secret)
  @service = service
  consumer = OAuth::Consumer.new(@service.key, @service.secret, :site => @service.url)
  @access_token = OAuth::AccessToken.new(consumer , token, secret)
end

Instance Method Details

#add_group(*args) ⇒ Object



27
28
29
30
31
# File 'lib/skip_embedded/rp_service/oauth_proxy.rb', line 27

def add_group(*args)
  req = {"group" => Util.group_data(*args)}
  res = @service.connection.post_via_oauth(@service.groups_url, req, @access_token)["group"]
  @service.backend.update_group(res["gid"], res)
end

#destroy_group(gid) ⇒ Object



39
40
41
# File 'lib/skip_embedded/rp_service/oauth_proxy.rb', line 39

def destroy_group(gid)
  @service.connection.delete_via_oauth(@service.group_url(gid), @access_token)
end

#destroy_userObject



23
24
25
# File 'lib/skip_embedded/rp_service/oauth_proxy.rb', line 23

def destroy_user
  @service.connection.delete_via_oauth(@service.user_url, @access_token)
end

#get_resource(path, headers = {}) ⇒ Object



13
14
15
16
# File 'lib/skip_embedded/rp_service/oauth_proxy.rb', line 13

def get_resource(path, headers = {})
  url = URI.join(@service.url, path)
  @service.connection.get_resource_via_oauth(url, @access_token, headers)
end

#update_group(gid, params) ⇒ Object



33
34
35
36
37
# File 'lib/skip_embedded/rp_service/oauth_proxy.rb', line 33

def update_group(gid, params)
  req = {"group" => params.except(:gid)}
  res = @service.connection.put_via_oauth(@service.group_url(gid), req, @access_token)["group"]
  @service.backend.update_group(res["gid"], res)
end

#update_user(params) ⇒ Object



18
19
20
21
# File 'lib/skip_embedded/rp_service/oauth_proxy.rb', line 18

def update_user(params)
  res = @service.connection.put_via_oauth(@service.user_url, {"user" => params}, @access_token)["user"]
  @service.backend.update_user(res["identity_url"], res)
end