Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Jun 17th, 2012  |  syntax: None  |  size: 0.75 KB  |  hits: 18  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1.   class GithubService
  2.     Leadlight.build_service(self) do
  3.       url 'https://api.github.com'
  4.  
  5.       build_connection do |c|
  6.         c.adapter :typhoeus
  7.       end
  8.  
  9.       tint 'root' do
  10.         match_path('/')
  11.         add_link_template '/users/{login}', 'user', 'Find user by login'
  12.       end
  13.  
  14.       tint 'auth_scopes' do
  15.         extend do
  16.           def oauth_scopes
  17.             __response__.headers['X-OAuth-Scopes'].to_s.strip.split(/\W+/)
  18.           end
  19.         end
  20.       end
  21.     end
  22.  
  23.     def prepare_request(request)
  24.       request.headers['Authorization'] = "Bearer #{options[:oauth2_token]}"
  25.     end
  26.   end
  27.  
  28.   user = GithubService.session(oauth2_token: "...").root.user('avdi') # => {'type' => 'User', 'name' => 'Avdi Grimm', ...}
  29.   user.oauth_scopes # => ['repo']