podio 0.8.0 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +3 -0
- data/Gemfile +9 -2
- data/README.md +1 -4
- data/examples/oauth_web_flow/Gemfile +4 -0
- data/examples/{sinatra.rb → oauth_web_flow/sinatra.rb} +7 -6
- data/lib/podio.rb +18 -3
- data/lib/podio/active_podio/base.rb +107 -62
- data/lib/podio/client.rb +30 -5
- data/lib/podio/error.rb +22 -10
- data/lib/podio/middleware/error_response.rb +23 -16
- data/lib/podio/middleware/json_response.rb +1 -1
- data/lib/podio/middleware/logger.rb +3 -0
- data/lib/podio/middleware/oauth2.rb +3 -0
- data/lib/podio/models/account_provider.rb +1 -0
- data/lib/podio/models/action.rb +19 -2
- data/lib/podio/models/activation_status.rb +8 -2
- data/lib/podio/models/app_store_category.rb +4 -1
- data/lib/podio/models/app_store_share.rb +29 -16
- data/lib/podio/models/application.rb +57 -2
- data/lib/podio/models/application_email.rb +5 -2
- data/lib/podio/models/application_field.rb +5 -2
- data/lib/podio/models/batch.rb +8 -0
- data/lib/podio/models/by_line.rb +2 -1
- data/lib/podio/models/calendar_event.rb +63 -3
- data/lib/podio/models/calendar_mute.rb +6 -1
- data/lib/podio/models/category.rb +1 -0
- data/lib/podio/models/comment.rb +29 -8
- data/lib/podio/models/condition.rb +8 -0
- data/lib/podio/models/condition_set.rb +40 -0
- data/lib/podio/models/contact.rb +13 -2
- data/lib/podio/models/contract.rb +85 -1
- data/lib/podio/models/contract_event.rb +17 -0
- data/lib/podio/models/contract_price.rb +3 -7
- data/lib/podio/models/contract_price_v2.rb +31 -0
- data/lib/podio/models/contract_user.rb +4 -0
- data/lib/podio/models/conversation.rb +114 -13
- data/lib/podio/models/conversation_event.rb +51 -0
- data/lib/podio/models/conversation_message.rb +2 -1
- data/lib/podio/models/conversation_participant.rb +3 -2
- data/lib/podio/models/date_election.rb +35 -0
- data/lib/podio/models/email_contact.rb +46 -0
- data/lib/podio/models/email_subscription_setting.rb +4 -23
- data/lib/podio/models/embed.rb +4 -4
- data/lib/podio/models/experiment.rb +71 -0
- data/lib/podio/models/external_file.rb +7 -2
- data/lib/podio/models/file_attachment.rb +23 -0
- data/lib/podio/models/form.rb +7 -0
- data/lib/podio/models/friend.rb +12 -0
- data/lib/podio/models/grant.rb +73 -0
- data/lib/podio/models/hook.rb +13 -6
- data/lib/podio/models/importer.rb +3 -0
- data/lib/podio/models/integration.rb +17 -6
- data/lib/podio/models/invoice.rb +30 -0
- data/lib/podio/models/item.rb +81 -14
- data/lib/podio/models/item_diff.rb +9 -5
- data/lib/podio/models/item_field.rb +11 -2
- data/lib/podio/models/item_revision.rb +5 -2
- data/lib/podio/models/linked_account.rb +1 -0
- data/lib/podio/models/live.rb +61 -0
- data/lib/podio/models/net_promoter_score.rb +28 -0
- data/lib/podio/models/notification.rb +9 -4
- data/lib/podio/models/notification_group.rb +5 -2
- data/lib/podio/models/o_auth.rb +4 -2
- data/lib/podio/models/o_auth_client.rb +1 -2
- data/lib/podio/models/organization.rb +22 -10
- data/lib/podio/models/organization_contact.rb +2 -1
- data/lib/podio/models/organization_member.rb +17 -3
- data/lib/podio/models/organization_profile.rb +8 -2
- data/lib/podio/models/pin.rb +27 -0
- data/lib/podio/models/profile.rb +19 -50
- data/lib/podio/models/promotion.rb +91 -0
- data/lib/podio/models/rating.rb +23 -5
- data/lib/podio/models/recurrence.rb +6 -3
- data/lib/podio/models/reference.rb +17 -1
- data/lib/podio/models/reminder.rb +8 -3
- data/lib/podio/models/search.rb +7 -1
- data/lib/podio/models/space.rb +41 -2
- data/lib/podio/models/space_contact.rb +1 -2
- data/lib/podio/models/space_invitation.rb +4 -5
- data/lib/podio/models/space_member.rb +37 -4
- data/lib/podio/models/status.rb +20 -8
- data/lib/podio/models/stream_activity_group.rb +40 -0
- data/lib/podio/models/stream_mute.rb +7 -8
- data/lib/podio/models/stream_object.rb +19 -11
- data/lib/podio/models/subscription.rb +7 -1
- data/lib/podio/models/tag.rb +6 -1
- data/lib/podio/models/tag_search.rb +2 -1
- data/lib/podio/models/task.rb +74 -18
- data/lib/podio/models/task_label.rb +10 -2
- data/lib/podio/models/user.rb +50 -6
- data/lib/podio/models/user_mail.rb +4 -0
- data/lib/podio/models/user_status.rb +7 -0
- data/lib/podio/models/view.rb +27 -7
- data/lib/podio/models/widget.rb +25 -3
- data/lib/podio/version.rb +1 -1
- data/podio.gemspec +13 -10
- data/script/config.example.rb +6 -0
- data/script/referenceGenerator.rb +87 -0
- data/test/active_podio_test.rb +44 -34
- data/test/client_test.rb +13 -2
- metadata +89 -36
- data/lib/podio/middleware/date_conversion.rb +0 -37
- data/lib/podio/models/bulletin.rb +0 -60
- data/lib/podio/models/connection.rb +0 -53
- data/lib/podio/models/news.rb +0 -85
@@ -1,53 +0,0 @@
|
|
1
|
-
class Podio::Connection < ActivePodio::Base
|
2
|
-
property :connection_id, :integer
|
3
|
-
property :type, :string
|
4
|
-
property :name, :string
|
5
|
-
property :last_load_on, :datetime
|
6
|
-
property :created_on, :datetime
|
7
|
-
|
8
|
-
property :contact_count, :integer
|
9
|
-
|
10
|
-
alias_method :id, :connection_id
|
11
|
-
|
12
|
-
def reload
|
13
|
-
Connection.reload(id)
|
14
|
-
end
|
15
|
-
|
16
|
-
def destroy
|
17
|
-
Connection.delete(id)
|
18
|
-
end
|
19
|
-
|
20
|
-
class << self
|
21
|
-
def create(attributes)
|
22
|
-
response = Podio.connection.post do |req|
|
23
|
-
req.url '/connection/'
|
24
|
-
req.body = attributes
|
25
|
-
end
|
26
|
-
|
27
|
-
member response.body
|
28
|
-
end
|
29
|
-
|
30
|
-
def reload(id)
|
31
|
-
Podio.connection.post("/connection/#{id}/load").body
|
32
|
-
end
|
33
|
-
|
34
|
-
def find(id)
|
35
|
-
member Podio.connection.get("/connection/#{id}").body
|
36
|
-
end
|
37
|
-
|
38
|
-
def delete(id)
|
39
|
-
Podio.connection.delete("/connection/#{id}").status
|
40
|
-
end
|
41
|
-
|
42
|
-
def all(options={})
|
43
|
-
list Podio.connection.get('/connection/').body
|
44
|
-
end
|
45
|
-
|
46
|
-
def preview(id, options={})
|
47
|
-
Podio.connection.get { |req|
|
48
|
-
req.url("/connection/#{id}/preview", options)
|
49
|
-
}.body
|
50
|
-
end
|
51
|
-
|
52
|
-
end
|
53
|
-
end
|
data/lib/podio/models/news.rb
DELETED
@@ -1,85 +0,0 @@
|
|
1
|
-
class Podio::News < ActivePodio::Base
|
2
|
-
property :news_id, :integer
|
3
|
-
property :title, :string
|
4
|
-
property :content, :string
|
5
|
-
property :link, :string
|
6
|
-
property :more, :boolean
|
7
|
-
property :priority, :integer
|
8
|
-
property :target_group, :string
|
9
|
-
property :locale, :string
|
10
|
-
property :run_from, :datetime
|
11
|
-
property :run_to, :datetime
|
12
|
-
property :stream_display, :boolean
|
13
|
-
property :email_display, :boolean
|
14
|
-
property :email_views, :integer
|
15
|
-
property :stream_views, :integer
|
16
|
-
property :email_clicks, :integer
|
17
|
-
property :stream_clicks, :integer
|
18
|
-
|
19
|
-
alias_method :id, :news_id
|
20
|
-
|
21
|
-
class << self
|
22
|
-
def find_stream()
|
23
|
-
result = Podio.connection.get("/news/stream").body
|
24
|
-
result.blank? ? nil : member(result)
|
25
|
-
end
|
26
|
-
|
27
|
-
def get_news_redirect(news_id, type=nil)
|
28
|
-
type = type.presence || 'stream'
|
29
|
-
response = Podio.connection.get("/news/#{news_id}/redirect?type=#{type}")
|
30
|
-
response.body['link']
|
31
|
-
end
|
32
|
-
|
33
|
-
def delete(news_id)
|
34
|
-
Podio.connection.delete("/news/#{news_id}")
|
35
|
-
end
|
36
|
-
|
37
|
-
def unsubscribe_entry(news_id)
|
38
|
-
Podio.connection.post do |req|
|
39
|
-
req.url "/news/#{news_id}/unsubscribe"
|
40
|
-
end
|
41
|
-
end
|
42
|
-
|
43
|
-
def create(attributes)
|
44
|
-
response = Podio.connection.post do |req|
|
45
|
-
req.url '/news/'
|
46
|
-
req.body = attributes
|
47
|
-
end
|
48
|
-
response.body['news_id']
|
49
|
-
end
|
50
|
-
|
51
|
-
def update(id, attributes)
|
52
|
-
response = Podio.connection.put do |req|
|
53
|
-
req.url "/news/#{id}"
|
54
|
-
req.body = attributes
|
55
|
-
end
|
56
|
-
|
57
|
-
response.status
|
58
|
-
end
|
59
|
-
|
60
|
-
def find(id, options={})
|
61
|
-
member Podio.connection.get("/news/#{id}").body
|
62
|
-
end
|
63
|
-
|
64
|
-
def find_visible
|
65
|
-
list Podio.connection.get("/news/").body
|
66
|
-
end
|
67
|
-
|
68
|
-
def find_all
|
69
|
-
list Podio.connection.get("/news/").body
|
70
|
-
end
|
71
|
-
|
72
|
-
def find_all_by_locale(locale)
|
73
|
-
list Podio.connection.get('/news/?locale=#{locale}').body
|
74
|
-
end
|
75
|
-
|
76
|
-
def find_all_by_target_group(target_group)
|
77
|
-
list Podio.connection.get('/news/?target_group=#{target_group}').body
|
78
|
-
end
|
79
|
-
|
80
|
-
def find_all_by_locale_and_group(locale, group)
|
81
|
-
list Podio.connection.get('/news/?locale=#{locale}?target_group=#{group}').body
|
82
|
-
end
|
83
|
-
|
84
|
-
end
|
85
|
-
end
|