ruby_desk 0.8.3 → 0.9.0

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.8.3
1
+ 0.9.0
@@ -128,13 +128,24 @@ module RubyDesk
128
128
  return parsed_data
129
129
  end
130
130
 
131
- # Returns the URL that authenticates the application for the current user
131
+ # Returns the URL that authenticates the application for the current user.
132
+ # This is used for web applications only
132
133
  def auth_url
133
134
  auth_call = prepare_api_call("", :params=>{:api_key=>@api_key},
134
135
  :base_url=>ODESK_AUTH_URL, :format=>nil, :method=>:get, :auth=>false)
135
136
  data = auth_call[:params].to_a.map{|pair| pair.join '='}.join('&')
136
137
  return auth_call[:url]+"?"+data
137
138
  end
139
+
140
+ # Returns a URL that the desktop user should visit to activate current frob.
141
+ # This method should not be called before a frob has been requested
142
+ def desktop_auth_url
143
+ raise "Frob should be requested first. Use RubyDesk::Controller#get_frob()" unless @frob
144
+ auth_call = prepare_api_call("", :params=>{:api_key=>@api_key, :frob=>@frob},
145
+ :base_url=>ODESK_AUTH_URL, :format=>nil, :method=>:get, :auth=>false)
146
+ data = auth_call[:params].to_a.map{|pair| pair.join '='}.join('&')
147
+ return auth_call[:url]+"?"+data
148
+ end
138
149
 
139
150
  # return the URL that logs user out of odesk applications
140
151
  def logout_url
data/test/frob.json ADDED
@@ -0,0 +1 @@
1
+ {"server_time":1279785374,"frob":"954461d16a2b843f259f3c059acdd81d"}
@@ -12,6 +12,18 @@ class TestRubyDesk < Test::Unit::TestCase
12
12
  end if result_filename
13
13
  return connector
14
14
  end
15
+
16
+ def test_desktop_auth_url
17
+ connector = dummy_connector('frob.json')
18
+ frob = connector.get_frob
19
+ assert_equal "954461d16a2b843f259f3c059acdd81d", frob
20
+
21
+ desktop_auth_url = connector.desktop_auth_url
22
+ assert desktop_auth_url =~ /frob=/
23
+ assert desktop_auth_url =~ /api_key=/
24
+ assert desktop_auth_url =~ /api_sig=/
25
+ end
26
+
15
27
 
16
28
  def test_sign
17
29
  connector = RubyDesk::Connector.new('824d225a889aca186c55ac49a6b23957',
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby_desk
3
3
  version: !ruby/object:Gem::Version
4
- hash: 57
4
+ hash: 59
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
- - 8
9
- - 3
10
- version: 0.8.3
8
+ - 9
9
+ - 0
10
+ version: 0.9.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - Ahmed ElDawy
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-07-08 00:00:00 +03:00
18
+ date: 2010-07-22 00:00:00 +03:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -56,6 +56,7 @@ files:
56
56
  - lib/ruby_desk/team_room.rb
57
57
  - lib/ruby_desk/time_report.rb
58
58
  - test/empty_timereport.json
59
+ - test/frob.json
59
60
  - test/helper.rb
60
61
  - test/jobs.json
61
62
  - test/profile.json