paperclipdropbox 1.0.3 → 1.0.4

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/README.rdoc CHANGED
@@ -18,26 +18,14 @@ Or install it yourself as:
18
18
 
19
19
  gem install paperclipdropbox
20
20
 
21
- Then run the authotization rake task
21
+ Then create the paperclipdropbox.yml file and run the authotization rake task
22
22
 
23
23
  rake paperclipdropbox:authorize
24
24
 
25
25
  you'll then be given a url to login to dropbox to authorize this plugin access to your dropbox account.
26
- Then once logged in run the rake task again.
27
26
 
28
- == Usage
29
-
30
- Create the file config/paperclipdropbox.yml:
31
27
 
32
- development:
33
- dropbox_user: user_email
34
- dropbox_password: user_password
35
-
36
- test:
37
- ...
38
-
39
- production:
40
- ...
28
+ == Usage
41
29
 
42
30
  In your model:
43
31
 
@@ -49,4 +37,19 @@ In your model:
49
37
  end
50
38
 
51
39
 
40
+ == Optional
41
+
42
+ Create the file config/paperclipdropbox.yml:
43
+
44
+ development:
45
+ dropbox_key: user_email
46
+ dropbox_secret: user_password
47
+ path: "/:attachment/:attachment/:id/:style/:filename"
48
+
49
+ test:
50
+ ...
51
+
52
+ production:
53
+ ...
54
+
52
55
  You can add the path option to the config/paperclipdropbox.yml file for ease of use.
@@ -1,3 +1,3 @@
1
1
  module Paperclipdropbox
2
- VERSION = "1.0.3"
2
+ VERSION = "1.0.4"
3
3
  end
@@ -5,6 +5,8 @@ end
5
5
  module Paperclip
6
6
  module Storage
7
7
  module Dropboxstorage
8
+ extend self
9
+
8
10
  def self.extended(base)
9
11
  require "dropbox"
10
12
  base.instance_eval do
@@ -13,8 +15,6 @@ module Paperclip
13
15
  @options.merge!(YAML.load_file("#{Rails.root}/config/paperclipdropbox.yml")[Rails.env].symbolize_keys)
14
16
  end
15
17
 
16
- @dropbox_user = @options[:dropbox_user]
17
- @dropbox_password = @options[:dropbox_password]
18
18
  @dropbox_key = '8ti7qntpcysl91j'
19
19
  @dropbox_secret = 'i0tshr4cpd1pa4e'
20
20
  @dropbox_public_url = @options[:dropbox_public_url] || "http://dl.dropbox.com/u/"
@@ -26,26 +26,26 @@ module Paperclip
26
26
  end
27
27
 
28
28
  def exists?(style = default_style)
29
- log("exists? #{style}")
29
+ log("exists? #{style}") if respond_to?(:log)
30
30
  begin
31
31
  dropbox_session.metadata("/Public#{File.dirname(path(style))}")
32
- log("true")
32
+ log("true") if respond_to?(:log)
33
33
  true
34
34
  rescue
35
- log("false")
35
+ log("false") if respond_to?(:log)
36
36
  false
37
37
  end
38
38
  end
39
39
 
40
40
  def to_file(style=default_style)
41
- log("to_file #{style}")
41
+ log("to_file #{style}") if respond_to?(:log)
42
42
  return @queued_for_write[style] || "#{@dropbox_public_url}#{user_id}/#{path(style)}"
43
43
  end
44
44
 
45
45
  def flush_writes #:nodoc:
46
46
  log("[paperclip] Writing files #{@queued_for_write.count}")
47
47
  @queued_for_write.each do |style, file|
48
- log("[paperclip] Writing files for ")
48
+ log("[paperclip] Writing files for ") if respond_to?(:log)
49
49
  file.close
50
50
  dropbox_session.upload(file.path, "/Public#{File.dirname(path(style))}", :as=> File.basename(path(style)))
51
51
  end
@@ -54,7 +54,7 @@ module Paperclip
54
54
 
55
55
  def flush_deletes #:nodoc:
56
56
  @queued_for_delete.each do |path|
57
- log("[paperclip] Deleting files for #{path}")
57
+ log("[paperclip] Deleting files for #{path}") if respond_to?(:log)
58
58
  begin
59
59
  dropbox_session.rm("/Public/#{path}")
60
60
  rescue
@@ -69,24 +69,23 @@ module Paperclip
69
69
  Rails.cache.write('DropboxSession:uid', dropbox_session.account.uid)
70
70
  dropbox_session.account.uid
71
71
  else
72
- log("read Dropbox User_id")
72
+ log("read Dropbox User_id") if respond_to?(:log)
73
73
  Rails.cache.read('DropboxSession:uid')
74
74
  end
75
75
  end
76
76
 
77
- private
78
77
  def dropbox_session
79
78
  unless Rails.cache.exist?('DropboxSession')
80
79
  if @dropboxsession.blank?
81
- log("loading session from yaml");
80
+ log("loading session from yaml") if respond_to?(:log)
82
81
  if File.exists?("#{Rails.root}/config/dropboxsession.yml")
83
82
  @dropboxsession = Dropbox::Session.deserialize(File.read("#{Rails.root}/config/dropboxsession.yml"))
84
83
  end
85
84
  end
86
- @dropboxsession.mode = :dropbox
85
+ @dropboxsession.mode = :dropbox unless @dropboxsession.blank?
87
86
  @dropboxsession
88
87
  else
89
- log("reading Dropbox Session")
88
+ log("reading Dropbox Session") if respond_to?(:log)
90
89
  Rails.cache.read('DropboxSession')
91
90
  end
92
91
  end
@@ -2,46 +2,53 @@ require "yaml"
2
2
  require "dropbox"
3
3
 
4
4
  namespace :paperclipdropbox do
5
-
5
+
6
6
 
7
7
  desc "Create DropBox Authorized Session Yaml"
8
8
  task :authorize => :environment do
9
-
9
+
10
10
  SESSION_FILE = "#{Rails.root}/config/dropboxsession.yml"
11
-
12
- if File.exists?(SESSION_FILE)
13
- @dropboxsession = Dropbox::Session.deserialize(File.read(SESSION_FILE))
14
- else
15
- @options = (YAML.load_file("#{Rails.root}/config/paperclipdropbox.yml")[Rails.env].symbolize_keys)
16
-
17
- @dropbox_user = @options[:dropbox_user]
18
- @dropbox_password = @options[:dropbox_password]
19
- @dropbox_key = @options[:dropbox_key] ||'8ti7qntpcysl91j'
20
- @dropbox_secret = @options[:dropbox_secret] || 'i0tshr4cpd1pa4e'
21
-
11
+
12
+ puts ""
13
+ puts ""
14
+ puts ""
15
+
16
+ unless @dropboxsession = Paperclip::Storage::Dropboxstorage.dropbox_session
17
+ if File.exists?("#{Rails.root}/config/paperclipdropbox.yml")
18
+ @options = (YAML.load_file("#{Rails.root}/config/paperclipdropbox.yml")[Rails.env].symbolize_keys)
19
+ end
20
+
21
+ @dropbox_key = @options.blank? ? '8ti7qntpcysl91j' : @options[:dropbox_key]
22
+ @dropbox_secret = @options.blank? ? 'i0tshr4cpd1pa4e' : @options[:dropbox_secret]
23
+
22
24
  @dropboxsession = Dropbox::Session.new(@dropbox_key, @dropbox_secret)
23
25
  @dropboxsession.mode = :dropbox
24
- @dropboxsession.authorizing_user = @dropbox_user
25
- @dropboxsession.authorizing_password = @dropbox_password
26
+
27
+ puts "Visit #{@dropboxsession.authorize_url} to log in to Dropbox. Hit enter when you have done this."
28
+
29
+ $stdin.flush
30
+
31
+ STDIN.gets
32
+
26
33
  end
27
- puts ""
28
- puts ""
29
- puts ""
34
+
30
35
  begin
31
36
  @dropboxsession.authorize
32
-
37
+ puts ""
33
38
  puts "Authorized - #{@dropboxsession.authorized?}"
34
39
  rescue
35
40
  begin
41
+ puts ""
36
42
  puts "Please login to dropbox using this link : #{@dropboxsession.authorize_url}"
37
43
  puts "then run this rake task again."
38
44
  rescue
45
+ puts ""
39
46
  puts "Already Authorized - #{@dropboxsession.authorized?}"
40
47
  end
41
48
  end
42
49
 
43
50
  puts ""
44
- puts ""
51
+ puts ""
45
52
  File.open(SESSION_FILE, "w") do |f|
46
53
  f.puts @dropboxsession.serialize
47
54
  end
metadata CHANGED
@@ -1,49 +1,45 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: paperclipdropbox
3
- version: !ruby/object:Gem::Version
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.4
4
5
  prerelease:
5
- version: 1.0.3
6
6
  platform: ruby
7
- authors:
7
+ authors:
8
8
  - Paul Ketelle
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
-
13
- date: 2011-08-29 00:00:00 Z
14
- dependencies:
15
- - !ruby/object:Gem::Dependency
12
+ date: 2011-09-26 00:00:00.000000000Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
16
15
  name: paperclip
17
- prerelease: false
18
- requirement: &id001 !ruby/object:Gem::Requirement
16
+ requirement: &10442076 !ruby/object:Gem::Requirement
19
17
  none: false
20
- requirements:
21
- - - ">="
22
- - !ruby/object:Gem::Version
23
- version: "0"
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
24
22
  type: :runtime
25
- version_requirements: *id001
26
- - !ruby/object:Gem::Dependency
27
- name: dropbox
28
23
  prerelease: false
29
- requirement: &id002 !ruby/object:Gem::Requirement
24
+ version_requirements: *10442076
25
+ - !ruby/object:Gem::Dependency
26
+ name: dropbox
27
+ requirement: &10441824 !ruby/object:Gem::Requirement
30
28
  none: false
31
- requirements:
32
- - - ">="
33
- - !ruby/object:Gem::Version
34
- version: "0"
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
35
33
  type: :runtime
36
- version_requirements: *id002
34
+ prerelease: false
35
+ version_requirements: *10441824
37
36
  description: Adds Dropbox storage support for the Paperclip gem. Dropbox account required.
38
- email:
37
+ email:
39
38
  - paul@ketelle.com
40
39
  executables: []
41
-
42
40
  extensions: []
43
-
44
41
  extra_rdoc_files: []
45
-
46
- files:
42
+ files:
47
43
  - .gitignore
48
44
  - Gemfile
49
45
  - README.rdoc
@@ -55,30 +51,26 @@ files:
55
51
  - paperclipdropbox.gemspec
56
52
  homepage: https://github.com/dripster82/paperclipdropbox
57
53
  licenses: []
58
-
59
54
  post_install_message:
60
55
  rdoc_options: []
61
-
62
- require_paths:
56
+ require_paths:
63
57
  - lib
64
- required_ruby_version: !ruby/object:Gem::Requirement
58
+ required_ruby_version: !ruby/object:Gem::Requirement
65
59
  none: false
66
- requirements:
67
- - - ">="
68
- - !ruby/object:Gem::Version
69
- version: "0"
70
- required_rubygems_version: !ruby/object:Gem::Requirement
60
+ requirements:
61
+ - - ! '>='
62
+ - !ruby/object:Gem::Version
63
+ version: '0'
64
+ required_rubygems_version: !ruby/object:Gem::Requirement
71
65
  none: false
72
- requirements:
73
- - - ">="
74
- - !ruby/object:Gem::Version
75
- version: "0"
66
+ requirements:
67
+ - - ! '>='
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
76
70
  requirements: []
77
-
78
71
  rubyforge_project: paperclipdropbox
79
- rubygems_version: 1.8.8
72
+ rubygems_version: 1.8.10
80
73
  signing_key:
81
74
  specification_version: 3
82
75
  summary: Dropbox storage support for paperclip file attachment
83
76
  test_files: []
84
-