dropio 1.0.11 → 1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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