dropio 1.0.11 → 1.1
Sign up to get free protection for your applications and to get access to all the features.
- data/dropio.gemspec +1 -1
- data/lib/dropio/api.rb +8 -0
- data/lib/dropio/asset.rb +6 -1
- data/lib/dropio/client.rb +9 -0
- data/lib/dropio/drop.rb +5 -0
- data/lib/dropio.rb +1 -1
- data/spec/dropio/asset_spec.rb +1 -1
- metadata +1 -1
data/dropio.gemspec
CHANGED
data/lib/dropio/api.rb
CHANGED
@@ -17,6 +17,10 @@ class Dropio::Api
|
|
17
17
|
self.class.get("/drops/#{drop_name}", :query => {:token => token})
|
18
18
|
end
|
19
19
|
|
20
|
+
def manager_drops(manager_api_token, page = 1)
|
21
|
+
self.class.get("/accounts/drops", :query => {:manager_api_token => manager_api_token, :page => page})
|
22
|
+
end
|
23
|
+
|
20
24
|
def generate_drop_url(drop_name, token)
|
21
25
|
signed_url(drop_name,token)
|
22
26
|
end
|
@@ -86,6 +90,10 @@ class Dropio::Api
|
|
86
90
|
def generate_asset_url(drop_name, asset_name, token)
|
87
91
|
signed_url(drop_name, token, asset_name)
|
88
92
|
end
|
93
|
+
|
94
|
+
def original_file_url(drop_name, asset_name)
|
95
|
+
Dropio::Config.api_url + "/#{drop_name}/assets/#{asset_name}/download/original?version=2.0&api_key=#{self.class.default_params[:api_key]}&format=json"
|
96
|
+
end
|
89
97
|
|
90
98
|
def asset_embed_code(drop_name, asset_name, token = nil)
|
91
99
|
self.class.get("/drops/#{drop_name}/assets/#{asset_name}/embed_code", :query => {:token => token})
|
data/lib/dropio/asset.rb
CHANGED
@@ -3,7 +3,7 @@ class Dropio::Asset < Dropio::Resource
|
|
3
3
|
attr_accessor :drop, :name, :type, :title, :description, :filesize, :created_at,
|
4
4
|
:thumbnail, :status, :converted, :hidden_url, :pages, :fax_status,
|
5
5
|
:duration, :artist, :track_title, :height, :width, :contents, :url,
|
6
|
-
:original_filename, :converted_filename
|
6
|
+
:original_filename, :converted_filename, :can_download_original
|
7
7
|
|
8
8
|
# Finds a particular Asset by drop and asset name.
|
9
9
|
def self.find(drop, name)
|
@@ -77,4 +77,9 @@ class Dropio::Asset < Dropio::Resource
|
|
77
77
|
Dropio::Resource.client.generate_asset_url(self)
|
78
78
|
end
|
79
79
|
|
80
|
+
# Generates a url if there's access to the original file.
|
81
|
+
def original_file_url
|
82
|
+
Dropio::Resource.client.generate_original_file_url(self) if self.can_download_original
|
83
|
+
end
|
84
|
+
|
80
85
|
end
|
data/lib/dropio/client.rb
CHANGED
@@ -9,6 +9,10 @@ class Dropio::Client
|
|
9
9
|
handle(:drop, self.service.drop(drop_name, token))
|
10
10
|
end
|
11
11
|
|
12
|
+
def manager_drops(manager_api_token, page = 1)
|
13
|
+
handle(:drops, self.service.manager_drops(manager_api_token, page))
|
14
|
+
end
|
15
|
+
|
12
16
|
def generate_drop_url(drop)
|
13
17
|
self.service.generate_drop_url(drop.name,drop.default_token)
|
14
18
|
end
|
@@ -86,6 +90,10 @@ class Dropio::Client
|
|
86
90
|
def generate_asset_url(asset)
|
87
91
|
self.service.generate_drop_url(asset.drop.name, asset.name, asset.drop.default_token)
|
88
92
|
end
|
93
|
+
|
94
|
+
def original_file_url(asset)
|
95
|
+
self.service.original_file_url(asset.drop.name, asset.name, asset.drop.default_token)
|
96
|
+
end
|
89
97
|
|
90
98
|
def asset_embed_code(asset)
|
91
99
|
r = handle(:response, self.service.asset_embed_code(asset.drop.name,asset.name,asset.drop.default_token))
|
@@ -191,6 +199,7 @@ class Dropio::Client
|
|
191
199
|
|
192
200
|
case type
|
193
201
|
when :drop then return Dropio::Drop.new(response)
|
202
|
+
when :drops then return response['drops'].collect{|s| Dropio::Drop.new(d)}
|
194
203
|
when :asset then return Dropio::Asset.new(response)
|
195
204
|
when :assets then return response['assets'].collect{|a| Dropio::Asset.new(a)}
|
196
205
|
when :comment then return Comment.new(response)
|
data/lib/dropio/drop.rb
CHANGED
@@ -20,6 +20,11 @@ class Dropio::Drop < Dropio::Resource
|
|
20
20
|
Dropio::Resource.client.drop(name, token)
|
21
21
|
end
|
22
22
|
|
23
|
+
# Finds all the drops associated with a manager account.
|
24
|
+
def self.find_manager_drops(manager_api_token, page = 1)
|
25
|
+
Dropio::Resource.client.manager_drops(manager_api_token, page)
|
26
|
+
end
|
27
|
+
|
23
28
|
# Creates a drop with an +attributes+ hash.
|
24
29
|
# Valid attributes: name (string), default_view (string), guests_can_comment (boolean), guests_can_add (boolean), guests_can_delete (boolean), expiration_length (string), password (string), admin_password (string), and premium_code (string)
|
25
30
|
# Descriptions can be found here: http://groups.google.com/group/dropio-api/web/full-api-documentation
|
data/lib/dropio.rb
CHANGED
data/spec/dropio/asset_spec.rb
CHANGED
@@ -21,7 +21,7 @@ describe Dropio::Asset do
|
|
21
21
|
@asset.should respond_to(:drop, :name, :type, :title, :description, :filesize, :created_at,
|
22
22
|
:thumbnail, :status, :converted, :hidden_url, :pages, :fax_status,
|
23
23
|
:duration, :artist, :track_title, :height, :width, :contents, :url,
|
24
|
-
:original_filename, :converted_filename)
|
24
|
+
:original_filename, :converted_filename, :can_download_original)
|
25
25
|
end
|
26
26
|
|
27
27
|
it "should have comments" do
|