paperclipdropbox 0.0.1 → 0.0.2

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 ADDED
@@ -0,0 +1,40 @@
1
+ = PaperclipDropboxStorage
2
+
3
+ Dropbox storage support for paperclip file attachment plugin.
4
+
5
+ == Install
6
+
7
+ gem install paperclipdropbox
8
+
9
+
10
+ == Usage
11
+
12
+ Create the file config/paperclipdropbox.yml:
13
+
14
+ development:
15
+ dropbox_user: user_email
16
+ dropbox_password: user_password
17
+ dropbox_key: developer_app_key
18
+ dropbox_secret: developer_app_secret
19
+
20
+ test:
21
+ ...
22
+
23
+ production:
24
+ ...
25
+
26
+ In your model:
27
+
28
+ class User < ActiveRecord::Base
29
+ has_attached_file :avatar,
30
+ :styles => { :medium => "300x300>", :thumb => "100x100>" },
31
+ :storage => :Dropboxstorage,
32
+ :path => "/:attachment/:attachment/:id/:style/:filename"
33
+ end
34
+
35
+
36
+ You can add the path option to the config/paperclipdropbox.yml file for ease of use.
37
+
38
+
39
+ Till I have a production dropbox key/secret you will need to create your own via dropbox.
40
+ The developer key will only allow access to the developers dropbox and nothing else.
@@ -1,3 +1,3 @@
1
1
  module Paperclipdropbox
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
@@ -4,7 +4,11 @@ module Paperclip
4
4
  def self.extended(base)
5
5
  require "dropbox"
6
6
  base.instance_eval do
7
- @options.merge!(YAML.load_file("#{Rails.root.to_s}/config/paperclipdropbox.yml")[Rails.env].symbolize_keys)
7
+
8
+ if File.exists?("#{RAILS_ROOT}/config/paperclipdropbox.yml")
9
+ @options.merge!(YAML.load_file("#{RAILS_ROOT}/config/paperclipdropbox.yml")[Rails.env].symbolize_keys)
10
+ end
11
+
8
12
  @dropbox_user = @options[:dropbox_user]
9
13
  @dropbox_password = @options[:dropbox_password]
10
14
  @dropbox_key = @options[:dropbox_key]
@@ -20,7 +24,7 @@ module Paperclip
20
24
  def exists?(style = default_style)
21
25
  log("exists? #{style}")
22
26
  begin
23
- dropbox_session.metadata(style)
27
+ dropbox_session.metadata("/Public#{File.dirname(path(style))}")
24
28
  log("true")
25
29
  true
26
30
  rescue
@@ -35,8 +39,9 @@ module Paperclip
35
39
  end
36
40
 
37
41
  def flush_writes #:nodoc:
42
+ log("[paperclip] Writing files #{@queued_for_write.count}")
38
43
  @queued_for_write.each do |style, file|
39
- log("[paperclip] Writing files for /Public#{path(style)}")
44
+ log("[paperclip] Writing files for ")
40
45
  file.close
41
46
  dropbox_session.upload(file.path, "/Public#{File.dirname(path(style))}", :as=> File.basename(path(style)))
42
47
  end
@@ -45,7 +50,7 @@ module Paperclip
45
50
 
46
51
  def flush_deletes #:nodoc:
47
52
  @queued_for_delete.each do |path|
48
- log("[paperclip] Deleting files for #{path(style)}")
53
+ log("[paperclip] Deleting files for #{path}")
49
54
  dropbox_session.rm("/Public/#{path}")
50
55
  end
51
56
  @queued_for_delete = []
@@ -8,7 +8,7 @@ Gem::Specification.new do |s|
8
8
  s.platform = Gem::Platform::RUBY
9
9
  s.authors = ["Paul Ketelle"]
10
10
  s.email = ["paul@ketelle.com"]
11
- s.homepage = ""
11
+ s.homepage = "https://github.com/dripster82/paperclipdropbox"
12
12
  s.summary = %q{Dropbox storage support for paperclip file attachment}
13
13
  s.description = %q{Dropbox storage support for paperclip file attachment}
14
14
 
metadata CHANGED
@@ -1,73 +1,82 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: paperclipdropbox
3
- version: !ruby/object:Gem::Version
4
- version: 0.0.1
3
+ version: !ruby/object:Gem::Version
5
4
  prerelease:
5
+ version: 0.0.2
6
6
  platform: ruby
7
- authors:
7
+ authors:
8
8
  - Paul Ketelle
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-04-28 00:00:00.000000000Z
13
- dependencies:
14
- - !ruby/object:Gem::Dependency
12
+
13
+ date: 2011-05-03 00:00:00 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
15
16
  name: paperclip
16
- requirement: &11286864 !ruby/object:Gem::Requirement
17
+ prerelease: false
18
+ requirement: &id001 !ruby/object:Gem::Requirement
17
19
  none: false
18
- requirements:
19
- - - ! '>='
20
- - !ruby/object:Gem::Version
21
- version: '0'
20
+ requirements:
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: "0"
22
24
  type: :runtime
23
- prerelease: false
24
- version_requirements: *11286864
25
- - !ruby/object:Gem::Dependency
25
+ version_requirements: *id001
26
+ - !ruby/object:Gem::Dependency
26
27
  name: dropbox
27
- requirement: &11286612 !ruby/object:Gem::Requirement
28
+ prerelease: false
29
+ requirement: &id002 !ruby/object:Gem::Requirement
28
30
  none: false
29
- requirements:
30
- - - ! '>='
31
- - !ruby/object:Gem::Version
32
- version: '0'
31
+ requirements:
32
+ - - ">="
33
+ - !ruby/object:Gem::Version
34
+ version: "0"
33
35
  type: :runtime
34
- prerelease: false
35
- version_requirements: *11286612
36
+ version_requirements: *id002
36
37
  description: Dropbox storage support for paperclip file attachment
37
- email:
38
+ email:
38
39
  - paul@ketelle.com
39
40
  executables: []
41
+
40
42
  extensions: []
43
+
41
44
  extra_rdoc_files: []
42
- files:
45
+
46
+ files:
43
47
  - .gitignore
44
48
  - Gemfile
49
+ - README.rdoc
45
50
  - Rakefile
46
51
  - lib/paperclipdropbox.rb
47
52
  - lib/paperclipdropbox/version.rb
48
53
  - paperclipdropbox.gemspec
49
- homepage: ''
54
+ homepage: https://github.com/dripster82/paperclipdropbox
50
55
  licenses: []
56
+
51
57
  post_install_message:
52
58
  rdoc_options: []
53
- require_paths:
59
+
60
+ require_paths:
54
61
  - lib
55
- required_ruby_version: !ruby/object:Gem::Requirement
62
+ required_ruby_version: !ruby/object:Gem::Requirement
56
63
  none: false
57
- requirements:
58
- - - ! '>='
59
- - !ruby/object:Gem::Version
60
- version: '0'
61
- required_rubygems_version: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - ">="
66
+ - !ruby/object:Gem::Version
67
+ version: "0"
68
+ required_rubygems_version: !ruby/object:Gem::Requirement
62
69
  none: false
63
- requirements:
64
- - - ! '>='
65
- - !ruby/object:Gem::Version
66
- version: '0'
70
+ requirements:
71
+ - - ">="
72
+ - !ruby/object:Gem::Version
73
+ version: "0"
67
74
  requirements: []
75
+
68
76
  rubyforge_project: paperclipdropbox
69
77
  rubygems_version: 1.7.2
70
78
  signing_key:
71
79
  specification_version: 3
72
80
  summary: Dropbox storage support for paperclip file attachment
73
81
  test_files: []
82
+