heythisisnate-paperclip 2.3.0.2 → 2.3.0.5

Sign up to get free protection for your applications and to get access to all the features.
@@ -100,15 +100,23 @@ module Paperclip
100
100
  # security, however, for performance reasons. set
101
101
  # include_updated_timestamp to false if you want to stop the attachment
102
102
  # update time appended to the url
103
- #def url style = default_style, include_updated_timestamp = true
104
- # url = original_filename.nil? ? interpolate(@default_url, style) : interpolate(@url, style)
105
- # include_updated_timestamp && updated_at ? [url, updated_at].compact.join(url.include?("?") ? "&" : "?") : url
106
- #end
103
+ def unsigned_url style = default_style, include_updated_timestamp = true
104
+ url = original_filename.nil? ? interpolate(@default_url, style) : interpolate(@url, style)
105
+ include_updated_timestamp && updated_at ? [url, updated_at].compact.join(url.include?("?") ? "&" : "?") : url
106
+ end
107
107
 
108
- def url(style = nil, time_limit = 5.seconds)
108
+ def signed_url(style = nil, time_limit = 5.seconds)
109
109
  AWS::S3::S3Object.url_for(path(style).gsub(%r{^/}, ""), 'dpic', :expires_in => time_limit)
110
110
  end
111
111
 
112
+ def url(style = nil, opts = nil)
113
+ if %w{thumb small}.include?(style.to_s)
114
+ unsigned_url style, true
115
+ else
116
+ signed_url style, 5.seconds
117
+ end
118
+ end
119
+
112
120
  # Returns the path of the attachment as defined by the :path option. If the
113
121
  # file is stored in the filesystem the path refers to the path of the file
114
122
  # on disk. If the file is stored in S3, the path is the "key" part of the
@@ -192,10 +192,11 @@ module Paperclip
192
192
  @queued_for_write.each do |style, file|
193
193
  begin
194
194
  log("saving #{path(style)}")
195
+ permissions = %{thumb small}.include?(style.to_s) ? :public_read : :authenticated_read
195
196
  AWS::S3::S3Object.store(path(style),
196
- file,
197
- bucket_name,
198
- {:content_type => instance_read(:content_type)}.merge(@s3_headers))
197
+ file,
198
+ bucket_name,
199
+ {:content_type => instance_read(:content_type)}.merge({:access => permissions}).merge(@s3_headers))
199
200
  rescue AWS::S3::ResponseError => e
200
201
  raise
201
202
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: heythisisnate-paperclip
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.3.0.2
4
+ version: 2.3.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jon Yurek
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-06-18 00:00:00 -07:00
12
+ date: 2009-08-05 00:00:00 -07:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -93,7 +93,7 @@ files:
93
93
  - test/storage_test.rb
94
94
  - test/thumbnail_test.rb
95
95
  - shoulda_macros/paperclip.rb
96
- has_rdoc: true
96
+ has_rdoc: false
97
97
  homepage: http://www.thoughtbot.com/projects/paperclip
98
98
  licenses:
99
99
  post_install_message:
@@ -119,7 +119,7 @@ requirements:
119
119
  rubyforge_project: paperclip
120
120
  rubygems_version: 1.3.5
121
121
  signing_key:
122
- specification_version: 2
122
+ specification_version: 3
123
123
  summary: File attachments as attributes for ActiveRecord
124
124
  test_files: []
125
125