podio 0.7.0 → 0.8.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (54) hide show
  1. data/Rakefile +0 -16
  2. data/lib/podio.rb +6 -3
  3. data/lib/podio/active_podio/base.rb +53 -21
  4. data/lib/podio/active_podio/updatable.rb +9 -14
  5. data/lib/podio/client.rb +46 -17
  6. data/lib/podio/error.rb +9 -0
  7. data/lib/podio/middleware/error_response.rb +5 -1
  8. data/lib/podio/middleware/json_request.rb +27 -5
  9. data/lib/podio/models/account_provider.rb +16 -0
  10. data/lib/podio/models/app_store_category.rb +25 -0
  11. data/lib/podio/models/app_store_share.rb +90 -11
  12. data/lib/podio/models/application.rb +52 -12
  13. data/lib/podio/models/application_field.rb +4 -4
  14. data/lib/podio/models/batch.rb +31 -0
  15. data/lib/podio/models/calendar_event.rb +64 -10
  16. data/lib/podio/models/category.rb +11 -9
  17. data/lib/podio/models/contact.rb +3 -1
  18. data/lib/podio/models/contract.rb +3 -0
  19. data/lib/podio/models/email_subscription_setting.rb +26 -3
  20. data/lib/podio/models/file_attachment.rb +3 -2
  21. data/lib/podio/models/form.rb +2 -2
  22. data/lib/podio/models/importer.rb +18 -9
  23. data/lib/podio/models/item.rb +87 -22
  24. data/lib/podio/models/item_field.rb +8 -3
  25. data/lib/podio/models/linked_account.rb +11 -3
  26. data/lib/podio/models/linked_account_data.rb +6 -0
  27. data/lib/podio/models/news.rb +1 -0
  28. data/lib/podio/models/organization.rb +4 -0
  29. data/lib/podio/models/organization_member.rb +17 -4
  30. data/lib/podio/models/organization_profile.rb +5 -1
  31. data/lib/podio/models/profile.rb +19 -10
  32. data/lib/podio/models/reference.rb +33 -0
  33. data/lib/podio/models/search.rb +4 -7
  34. data/lib/podio/models/space.rb +21 -12
  35. data/lib/podio/models/space_invitation.rb +7 -7
  36. data/lib/podio/models/space_member.rb +28 -3
  37. data/lib/podio/models/task.rb +38 -14
  38. data/lib/podio/models/user.rb +27 -5
  39. data/lib/podio/models/user_status.rb +5 -0
  40. data/lib/podio/models/view.rb +51 -0
  41. data/lib/podio/models/widget.rb +1 -1
  42. data/lib/podio/version.rb +1 -1
  43. data/test/client_test.rb +13 -3
  44. data/test/fixtures/fixtures.yaml +7 -7
  45. data/test/test_helper.rb +1 -24
  46. metadata +16 -23
  47. data/lib/podio/middleware/response_recorder.rb +0 -14
  48. data/lib/podio/models/meeting.rb +0 -151
  49. data/lib/podio/models/meeting_participiant.rb +0 -11
  50. data/test/fixtures/client/18a224aaf83ac57a7b8159cecdbb1263.rack +0 -1
  51. data/test/fixtures/client/a87c69a0624af0413a670094c6615651.rack +0 -1
  52. data/test/fixtures/client/ac493997db62308972c208afa76f8479.rack +0 -1
  53. data/test/fixtures/client/d7fbf422c77af768552423633d0389e8.rack +0 -1
  54. data/test/fixtures/client/e2d68afe39f5531195273ea259b63916.rack +0 -1
@@ -0,0 +1,6 @@
1
+ class Podio::LinkedAccountData < ActivePodio::Base
2
+ property :id, :integer
3
+ property :type, :string
4
+ property :info, :string
5
+ property :url, :string
6
+ end
@@ -3,6 +3,7 @@ class Podio::News < ActivePodio::Base
3
3
  property :title, :string
4
4
  property :content, :string
5
5
  property :link, :string
6
+ property :more, :boolean
6
7
  property :priority, :integer
7
8
  property :target_group, :string
8
9
  property :locale, :string
@@ -110,5 +110,9 @@ class Podio::Organization < ActivePodio::Base
110
110
  Podio.connection.post("/org/#{id}/upgrade").body
111
111
  end
112
112
 
113
+ def find_all_with_private_shares
114
+ list Podio.connection.get("/app_store/org/").body
115
+ end
116
+
113
117
  end
114
118
  end
@@ -3,13 +3,14 @@ class Podio::OrganizationMember < ActivePodio::Base
3
3
  property :profile, :hash
4
4
  property :admin, :boolean
5
5
  property :employee, :boolean
6
+ property :space_memberships, :integer
6
7
 
7
8
  has_one :user, :class => 'User'
8
9
  has_one :contact, :class => 'Contact', :property => :profile
9
10
 
10
11
  delegate :user_id, :mail, :to => :user
11
12
  delegate :name, :avatar, :link, :title, :organization, :title_and_org, :default_title, :avatar_url, :last_seen_on, :to => :contact
12
-
13
+
13
14
  class << self
14
15
  def find_all_for_org(org_id, options = {})
15
16
  list Podio.connection.get { |req|
@@ -17,14 +18,26 @@ class Podio::OrganizationMember < ActivePodio::Base
17
18
  }.body
18
19
  end
19
20
 
21
+ def search(org_id, query, options = {})
22
+ options[:query] = query
23
+ list Podio.connection.get { |req|
24
+ req.url("/org/#{org_id}/member/search/", options)
25
+ }.body
26
+ end
27
+
20
28
  def find(org_id, user_id)
21
29
  member Podio.connection.get("/org/#{org_id}/member/#{user_id}").body
22
30
  end
23
-
31
+
32
+
24
33
  def delete(org_id, user_id)
25
34
  Podio.connection.delete("/org/#{org_id}/member/#{user_id}").status
26
35
  end
27
-
36
+
37
+ def delete_info(org_id, user_id)
38
+ Podio.connection.get("/org/#{org_id}/member/#{user_id}/end_member_info").body
39
+ end
40
+
28
41
  def make_admin(org_id, user_id)
29
42
  response = Podio.connection.post do |req|
30
43
  req.url "/org/#{org_id}/admin/"
@@ -36,6 +49,6 @@ class Podio::OrganizationMember < ActivePodio::Base
36
49
  def remove_admin(org_id, user_id)
37
50
  Podio.connection.delete("/org/#{org_id}/admin/#{user_id}").status
38
51
  end
39
-
52
+
40
53
  end
41
54
  end
@@ -30,13 +30,17 @@ class Podio::OrganizationProfile < ActivePodio::Base
30
30
  self.class.delete(self.org_id)
31
31
  end
32
32
 
33
- handle_api_errors_for :create, :update # Call must be made after the methods to handle have been defined
33
+ handle_api_errors_for :create, :update # Call must be made after the methods to handle have been defined
34
34
 
35
35
  class << self
36
36
  def find(org_id)
37
37
  member Podio.connection.get("/org/#{org_id}/appstore").body
38
38
  end
39
39
 
40
+ def find_by_url(url_label)
41
+ member Podio.connection.get("/app_store/org/#{url_label}/profile").body
42
+ end
43
+
40
44
  def create(org_id, attributes)
41
45
  response = Podio.connection.post do |req|
42
46
  req.url "/org/#{org_id}/appstore"
@@ -23,7 +23,7 @@ class Podio::Profile < ActivePodio::Base
23
23
  property :skill, :array
24
24
  property :linkedin, :string
25
25
  property :twitter, :string
26
-
26
+
27
27
  property :app_store_about, :string
28
28
  property :app_store_organization, :string
29
29
  property :app_store_location, :string
@@ -32,7 +32,7 @@ class Podio::Profile < ActivePodio::Base
32
32
 
33
33
  property :last_seen_on, :datetime
34
34
  property :is_employee, :boolean
35
-
35
+
36
36
  alias_method :employee?, :is_employee
37
37
 
38
38
  class << self
@@ -68,8 +68,11 @@ class Podio::Profile < ActivePodio::Base
68
68
  }.body
69
69
  end
70
70
 
71
- def find(profile_id)
72
- result = Podio.connection.get("/contact/#{profile_id}/v2").body
71
+ def find(profile_id, options = {})
72
+ result = Podio.connection.get do |req|
73
+ req.url("/contact/#{profile_id}/v2", options)
74
+ end.body
75
+
73
76
  if result.is_a?(Array)
74
77
  return list result
75
78
  else
@@ -100,7 +103,7 @@ class Podio::Profile < ActivePodio::Base
100
103
 
101
104
  list Podio.connection.get { |req|
102
105
  req.url("/contact/connection/#{connection_id}", options)
103
- }.body
106
+ }.body
104
107
  end
105
108
 
106
109
  def find_all_for_connection_type(connection_type, options={})
@@ -110,7 +113,13 @@ class Podio::Profile < ActivePodio::Base
110
113
  req.url("/contact/connection/#{connection_type}", options)
111
114
  }.body
112
115
  end
113
-
116
+
117
+ def find_all_for_linked_account(id, options={})
118
+ list Podio.connection.get { |req|
119
+ req.url("/contact/linked_account/#{id}", options)
120
+ }.body
121
+ end
122
+
114
123
  def find_for_org(org_id)
115
124
  member Podio.connection.get("/org/#{org_id}/billing").body
116
125
  end
@@ -138,12 +147,12 @@ class Podio::Profile < ActivePodio::Base
138
147
  def skills(options)
139
148
  Podio.connection.get { |req|
140
149
  req.url("/contact/skill/", options)
141
- }.body
150
+ }.body
142
151
  end
143
152
 
144
153
  def totals_by_space(space_id, options = {})
145
154
  options[:exclude_self] = (options[:exclude_self] == false ? "0" : "1" )
146
-
155
+
147
156
  Podio.connection.get { |req|
148
157
  req.url("/contact/space/#{space_id}/totals/", options)
149
158
  }.body
@@ -157,7 +166,7 @@ class Podio::Profile < ActivePodio::Base
157
166
 
158
167
  response.body
159
168
  end
160
-
169
+
161
170
  def delete_contact(profile_id)
162
171
  Podio.connection.delete("/contact/#{profile_id}").body
163
172
  end
@@ -170,6 +179,6 @@ class Podio::Profile < ActivePodio::Base
170
179
 
171
180
  response.body
172
181
  end
173
-
182
+
174
183
  end
175
184
  end
@@ -0,0 +1,33 @@
1
+ class Podio::Reference < ActivePodio::Base
2
+
3
+ property :type, :string
4
+ property :id, :integer
5
+ property :title, :string
6
+ property :link, :string
7
+ property :data, :hash
8
+ property :created_on, :datetime
9
+
10
+ has_one :created_by, :class => 'ByLine'
11
+ has_one :created_via, :class => 'Via'
12
+
13
+ class << self
14
+ def find(ref_type, ref_id, options = {})
15
+ member Podio.connection.get { |req|
16
+ req.url("/reference/#{ref_type}/#{ref_id}", options)
17
+ }.body
18
+ end
19
+
20
+ def search(target, query, limit)
21
+ response = Podio.connection.post do |req|
22
+ req.url "/reference/search"
23
+ req.body = {
24
+ :target => target,
25
+ :text => query,
26
+ :limit => limit
27
+ }
28
+ end
29
+ response.body
30
+ end
31
+
32
+ end
33
+ end
@@ -4,17 +4,14 @@ class Podio::Search < ActivePodio::Base
4
4
  property :title, :string
5
5
  property :created_on, :datetime
6
6
  property :link, :string
7
- property :space, :hash
8
- property :org, :hash
9
- property :app, :hash
10
7
  property :search_id, :integer
11
8
  property :rank, :integer
12
-
9
+
13
10
  has_one :created_by, :class => 'ByLine'
14
11
  has_one :app, :class => 'Application'
15
12
  has_one :org, :class => 'Organization'
16
13
  has_one :space, :class => 'Space'
17
-
14
+
18
15
  class << self
19
16
  def in_org(org_id, words)
20
17
  response = Podio.connection.post do |req|
@@ -59,5 +56,5 @@ class Podio::Search < ActivePodio::Base
59
56
  Podio.connection.post("/search/#{search_id}/#{rank}/clicked").status
60
57
  end
61
58
  end
62
-
63
- end
59
+
60
+ end
@@ -1,6 +1,6 @@
1
1
  class Podio::Space < ActivePodio::Base
2
2
  include ActivePodio::Updatable
3
-
3
+
4
4
  property :space_id, :integer
5
5
  property :name, :string
6
6
  property :url, :string
@@ -17,21 +17,27 @@ class Podio::Space < ActivePodio::Base
17
17
  property :auto_join, :boolean
18
18
  property :type, :string
19
19
  property :premium, :boolean
20
-
20
+ property :last_activity_on, :datetime
21
+ property :created_on, :datetime
22
+
21
23
  has_one :created_by, :class => 'ByLine'
22
24
 
23
25
  alias_method :id, :space_id
24
-
26
+
25
27
  def create
26
28
  response = Space.create(:org_id => org_id, :name => name, :privacy => self.privacy, :auto_join => self.auto_join)
27
29
  self.url = response['url']
28
30
  self.space_id = response['space_id']
29
31
  end
30
-
32
+
31
33
  def update
32
34
  self.class.update(self.space_id, :name => self.name, :post_on_new_app => self.post_on_new_app, :post_on_new_member => self.post_on_new_member, :url_label => self.url_label, :privacy => self.privacy, :auto_join => self.auto_join)
33
35
  end
34
-
36
+
37
+ def delete
38
+ self.class.delete(self.id)
39
+ end
40
+
35
41
  class << self
36
42
  def create(attributes)
37
43
  response = Podio.connection.post do |req|
@@ -53,31 +59,34 @@ class Podio::Space < ActivePodio::Base
53
59
  def find(id)
54
60
  member Podio.connection.get("/space/#{id}").body
55
61
  end
56
-
62
+
57
63
  def join(space_id)
58
64
  Podio.connection.post("/space/#{space_id}/join").body
59
65
  end
60
66
 
61
- def find_by_url(url, info = false)
62
- info = info ? 1 : 0
63
- member Podio.connection.get("/space/url?url=#{ERB::Util.url_encode(url)}&info=#{info}").body
67
+ def find_by_url(url)
68
+ member Podio.connection.get("/space/url?url=#{ERB::Util.url_encode(url)}").body
64
69
  end
65
-
70
+
66
71
  def find_all_for_org(org_id)
67
72
  list Podio.connection.get("/org/#{org_id}/space/").body
68
73
  end
69
74
 
75
+ def find_all_spaces_for_org(org_id, options={})
76
+ list Podio.connection.get("/org/#{org_id}/all_spaces/", options).body
77
+ end
78
+
70
79
  def find_open_for_org(org_id)
71
80
  list Podio.connection.get("/space/org/#{org_id}/available/").body
72
81
  end
73
-
82
+
74
83
  def validate_url_label(org_id, url_label)
75
84
  Podio.connection.post { |req|
76
85
  req.url "/space/org/#{org_id}/url/validate"
77
86
  req.body = {:url_label => url_label}
78
87
  }.body
79
88
  end
80
-
89
+
81
90
  end
82
91
  end
83
92
 
@@ -13,6 +13,7 @@ class Podio::SpaceInvitation < ActivePodio::Base
13
13
  property :context_ref_type, :string # Write
14
14
  property :context_ref_id, :integer # Write
15
15
  property :context, :hash # Read
16
+ property :external_contacts, :hash
16
17
 
17
18
  has_one :user, :class => 'User'
18
19
 
@@ -67,17 +68,16 @@ class Podio::SpaceInvitation < ActivePodio::Base
67
68
  response.body
68
69
  end
69
70
 
70
- def decline_member(invite_code)
71
- Podio.connection.delete("/space/membership?invite_code=#{invite_code}").status
71
+ def find_member(invite_code)
72
+ member Podio.connection.get("/space/membership?invite_code=#{invite_code}").body
72
73
  end
73
74
 
74
- def find(invite_code)
75
- member Podio.connection.get("/space/invite/status?invite_code=#{ERB::Util.url_encode(invite_code)}").body
75
+ def decline_member(invite_code)
76
+ Podio.connection.delete("/space/membership?invite_code=#{invite_code}").status
76
77
  end
77
78
 
78
- def find_member(invite_code)
79
- member Podio.connection.get("/space/membership?invite_code=#{ERB::Util.url_encode(invite_code)}").body
79
+ def claim_member(invite_code)
80
+ Podio.connection.post("/space/membership/claim?invite_code=#{invite_code}").status
80
81
  end
81
-
82
82
  end
83
83
  end
@@ -6,11 +6,13 @@ class Podio::SpaceMember < ActivePodio::Base
6
6
  property :ended_on, :datetime
7
7
 
8
8
  has_one :user, :class => 'User'
9
+ has_one :contact, :class => 'Contact', :property => :profile
10
+ has_one :space, :class => 'Space'
9
11
 
10
- delegate :user_id, :name, :to => :user
12
+ delegate :user_id, :name, :to => :contact
11
13
 
12
14
  alias_method :id, :user_id
13
-
15
+
14
16
  class << self
15
17
  def find_all_for_role(space_id, role)
16
18
  list Podio.connection.get { |req|
@@ -18,12 +20,23 @@ class Podio::SpaceMember < ActivePodio::Base
18
20
  }.body
19
21
  end
20
22
 
23
+ def find_membership(space_id, user_id)
24
+ response = Podio.connection.get { |req|
25
+ req.url("/space/#{space_id}/member/#{user_id}")
26
+ }
27
+ response.body
28
+ end
29
+
21
30
  def find_all_ended(space_id)
22
31
  list Podio.connection.get { |req|
23
32
  req.url("/space/#{space_id}/member/ended/")
24
33
  }.body
25
34
  end
26
35
 
36
+ def find_all(space_id, options = {})
37
+ list Podio.connection.get("/space/#{space_id}/member/", options).body
38
+ end
39
+
27
40
  def update_role(space_id, user_id, role)
28
41
  response = Podio.connection.put do |req|
29
42
  req.url "/space/#{space_id}/member/#{user_id}"
@@ -35,7 +48,7 @@ class Podio::SpaceMember < ActivePodio::Base
35
48
  def end_membership(space_id, user_id)
36
49
  Podio.connection.delete("/space/#{space_id}/member/#{user_id}").status
37
50
  end
38
-
51
+
39
52
  def find_top_contacts(space_id)
40
53
  result = Podio.connection.get("/space/#{space_id}/member/top/").body
41
54
  %w(employee external).each do |section|
@@ -43,5 +56,17 @@ class Podio::SpaceMember < ActivePodio::Base
43
56
  end
44
57
  result
45
58
  end
59
+
60
+ def find_memberships_for_user_in_org(org_id, user_id)
61
+ list Podio.connection.get("/org/#{org_id}/member/#{user_id}/space_member/").body
62
+ end
63
+
64
+ def request_membership(space_id)
65
+ Podio.connection.post("/space/#{space_id}/member_request/").status
66
+ end
67
+
68
+ def accept_membership_request(space_id, space_member_request_id)
69
+ Podio.connection.post("/space/#{space_id}/member_request/#{space_member_request_id}/accept").status
70
+ end
46
71
  end
47
72
  end
@@ -8,6 +8,7 @@ class Podio::Task < ActivePodio::Base
8
8
  property :description, :string
9
9
  property :private, :boolean
10
10
  property :due_date, :date
11
+ property :due_time, :time
11
12
  property :due_on, :datetime, :convert_incoming_local_datetime_to_utc => true
12
13
  property :responsible, :hash
13
14
  property :space_id, :integer
@@ -34,23 +35,29 @@ class Podio::Task < ActivePodio::Base
34
35
  has_one :deleted_via, :class => 'Via'
35
36
  has_one :completed_via, :class => 'Via'
36
37
  has_one :assignee, :class => 'User', :property => :responsible
37
- has_many :label_list, :class => 'TaskLabel', :property => :labels
38
+ has_many :label_list, :class => 'TaskLabel', :property => :labels
38
39
  has_many :files, :class => 'FileAttachment'
39
40
  has_many :comments, :class => 'Comment'
40
41
  has_one :reminder, :class => 'Reminder'
41
42
  has_one :recurrence, :class => 'Recurrence'
42
43
 
43
44
  alias_method :id, :task_id
44
-
45
+
45
46
  def create
47
+ result = self.create_multiple # Could return false if API call failed
48
+ self.task_id = result.first.id if result
49
+ result
50
+ end
51
+
52
+ def create_multiple
46
53
  compacted_attributes = remove_nil_values(self.attributes)
47
54
  if(self.ref_type.present? && self.ref_id.present?)
48
- self.task_id = self.class.create_with_ref(self.ref_type, self.ref_id, compacted_attributes)
55
+ self.class.create_with_ref(self.ref_type, self.ref_id, compacted_attributes)
49
56
  else
50
- self.task_id = self.class.create(compacted_attributes)
57
+ self.class.create(compacted_attributes)
51
58
  end
52
59
  end
53
-
60
+
54
61
  def destroy
55
62
  self.class.delete(self.id)
56
63
  end
@@ -59,6 +66,10 @@ class Podio::Task < ActivePodio::Base
59
66
  self.class.update_reference(self.id, ref_type, ref_id)
60
67
  end
61
68
 
69
+ def delete_reference
70
+ self.class.delete_reference(self.id)
71
+ end
72
+
62
73
  def update_labels(label_ids)
63
74
  self.class.update_labels(self.id, label_ids)
64
75
  end
@@ -75,7 +86,7 @@ class Podio::Task < ActivePodio::Base
75
86
  self.class.rank(self.id, previous_task && previous_task.to_i, next_task && next_task.to_i)
76
87
  end
77
88
 
78
- handle_api_errors_for :create, :destroy, :complete, :uncomplete, :update_reference # Call must be made after the methods to handle have been defined
89
+ handle_api_errors_for :create_multiple, :destroy, :complete, :uncomplete, :update_reference # Call must be made after the methods to handle have been defined
79
90
 
80
91
  class << self
81
92
  def create(attributes)
@@ -84,7 +95,7 @@ class Podio::Task < ActivePodio::Base
84
95
  req.body = attributes
85
96
  end
86
97
 
87
- response.body['task_id']
98
+ list [response.body].flatten
88
99
  end
89
100
 
90
101
  def create_with_ref(ref_type, ref_id, attributes)
@@ -93,7 +104,7 @@ class Podio::Task < ActivePodio::Base
93
104
  req.body = attributes
94
105
  end
95
106
 
96
- response.body['task_id']
107
+ list [response.body].flatten
97
108
  end
98
109
 
99
110
  def update_description(id, description)
@@ -112,8 +123,8 @@ class Podio::Task < ActivePodio::Base
112
123
  Podio.connection.put("/task/#{id}/due_date", {:due_date => due_date}).status
113
124
  end
114
125
 
115
- def update_due_on(id, due_on)
116
- Podio.connection.put("/task/#{id}/due_on", {:due_on => due_on}).status
126
+ def update_due_on(id, options)
127
+ Podio.connection.put("/task/#{id}/due_on", options).status
117
128
  end
118
129
 
119
130
  def update_assignee(id, user_id)
@@ -123,7 +134,11 @@ class Podio::Task < ActivePodio::Base
123
134
  def update_reference(id, ref_type, ref_id)
124
135
  Podio.connection.put("/task/#{id}/ref", {:ref_type => ref_type, :ref_id => ref_id}).status
125
136
  end
126
-
137
+
138
+ def delete_reference(task_id)
139
+ Podio.connection.delete("/task/#{task_id}/ref").status
140
+ end
141
+
127
142
  def update_labels(id, label_ids)
128
143
  Podio.connection.put("/task/#{id}/label/", label_ids).status
129
144
  end
@@ -157,7 +172,7 @@ class Podio::Task < ActivePodio::Base
157
172
  req.url('/task/', options)
158
173
  }.body
159
174
  end
160
-
175
+
161
176
  def find_summary
162
177
  response = Podio.connection.get("/task/summary").body
163
178
  response['overdue']['tasks'] = list(response['overdue']['tasks'])
@@ -166,6 +181,15 @@ class Podio::Task < ActivePodio::Base
166
181
  response
167
182
  end
168
183
 
184
+ def find_summary_for_org(org_id, limit=nil)
185
+ response = Podio.connection.get("/task/org/#{org_id}/summary" +
186
+ ((limit != nil) ? "?limit=#{limit}" : "")).body
187
+ response['overdue']['tasks'] = list(response['overdue']['tasks'])
188
+ response['today']['tasks'] = list(response['today']['tasks'])
189
+ response['other']['tasks'] = list(response['other']['tasks'])
190
+ response
191
+ end
192
+
169
193
  def find_summary_for_reference(ref_type, ref_id)
170
194
  response = Podio.connection.get("/task/#{ref_type}/#{ref_id}/summary").body
171
195
  response['overdue']['tasks'] = list(response['overdue']['tasks'])
@@ -173,7 +197,7 @@ class Podio::Task < ActivePodio::Base
173
197
  response['other']['tasks'] = list(response['other']['tasks'])
174
198
  response
175
199
  end
176
-
200
+
177
201
  def find_personal_summary
178
202
  response = Podio.connection.get("/task/personal/summary").body
179
203
  response['overdue']['tasks'] = list(response['overdue']['tasks'])
@@ -181,6 +205,6 @@ class Podio::Task < ActivePodio::Base
181
205
  response['other']['tasks'] = list(response['other']['tasks'])
182
206
  response
183
207
  end
184
-
208
+
185
209
  end
186
210
  end