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 CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{dropio}
5
- s.version = "1.0.11"
5
+ s.version = "1.1"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = ["Jake Good"]
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
@@ -1,5 +1,5 @@
1
1
  module Dropio
2
- VERSION = '1.0.11'
2
+ VERSION = '1.1'
3
3
 
4
4
  class MissingResourceError < Exception; end
5
5
  class AuthorizationError < Exception; end
@@ -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
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dropio
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.11
4
+ version: "1.1"
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jake Good