gluttonberg-core 2.5.6 → 2.5.7

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.
@@ -7,12 +7,12 @@ module Gluttonberg
7
7
 
8
8
  def self.process(asset_obj)
9
9
  if asset_obj.asset_type.asset_category.name == "audio"
10
- collect_mp3_info(asset)
10
+ self.collect_mp3_info(asset_obj)
11
11
  end
12
12
  end
13
13
 
14
14
  # Collect mp3 files info using Mp3Info gem
15
- def collect_mp3_info(asset)
15
+ def self.collect_mp3_info(asset)
16
16
  audio = AudioAssetAttribute.find( :first , :conditions => {:asset_id => asset.id})
17
17
 
18
18
  begin
@@ -36,8 +36,8 @@ module Gluttonberg
36
36
  s3_server_url = S3::ClassMethods.s3_server_url
37
37
  s3_bucket = S3::ClassMethods.s3_bucket_name
38
38
  if !key_id.blank? && !key_val.blank? && !s3_server_url.blank? && !s3_bucket.blank?
39
- s3 = Aws::S3.new(key_id, key_val, {:server => s3_server_url})
40
- bucket = s3.bucket(s3_bucket)
39
+ s3 = AWS::S3.new({ :access_key_id => key_id, :secret_access_key => key_val , :server => s3_server_url})
40
+ bucket = s3.buckets[s3_bucket]
41
41
  else
42
42
  nil
43
43
  end
@@ -50,16 +50,17 @@ module Gluttonberg
50
50
  local_file = "public/user_assets/" + asset_hash + "/" + file_name
51
51
  key_for_s3 = "user_assets/" + asset_hash + "/" + file_name
52
52
  date = Time.now+1.years
53
- key = bucket.key(key_for_s3, true)
53
+ key = bucket.objects[key_for_s3]
54
54
  asset = Gluttonberg::Asset.where(:asset_hash => asset_hash).first
55
55
  unless asset.blank?
56
56
  puts " Copying #{local_file} to #{S3::ClassMethods.s3_bucket_name}"
57
+
57
58
  unless asset.mime_type.blank?
58
- key.put(File.open(local_file), 'public-read', {"Expires" => date.rfc2822, "content-type" => asset.mime_type})
59
+ key.write(File.open(local_file), {:expires => date.rfc2822, :content_type => asset.mime_type , :acl => :public_read })
59
60
  else
60
- key.put(File.open(local_file), 'public-read', {"Expires" => date.rfc2822})
61
+ key.write(File.open(local_file) , {:expires => date.rfc2822 , :acl => :public_read })
61
62
  end
62
- Gluttonberg::Asset.update_attributes(:copied_to_s3 => true)
63
+ asset.update_attributes(:copied_to_s3 => true)
63
64
  puts "Copied"
64
65
  end
65
66
  end
@@ -112,7 +113,7 @@ module Gluttonberg
112
113
 
113
114
  def remove_file_from_tmp_storage
114
115
  if File.exists?(tmp_directory)
115
- puts "Remove assset folder from tmp storage (tmp_directory)"
116
+ puts "Remove assset folder from tmp storage (#{tmp_directory})"
116
117
  FileUtils.rm_r(tmp_directory)
117
118
  end
118
119
  end
@@ -146,11 +147,11 @@ module Gluttonberg
146
147
  folder = self.asset_hash
147
148
  date = Time.now+1.years
148
149
  puts "Copying #{file_name} (#{local_file}) to #{S3::ClassMethods.s3_bucket_name}"
149
- key = bucket.key(self.directory + "/" + file_name, true)
150
+ key = bucket.objects[self.directory + "/" + file_name]
150
151
  unless self.mime_type.blank?
151
- key.put(File.open(local_file), 'public-read', {"Expires" => date.rfc2822, "content-type" => self.mime_type})
152
+ key.write(File.open(local_file), {:expires => date.rfc2822, :content_type => self.mime_type , :acl => :public_read })
152
153
  else
153
- key.put(File.open(local_file), 'public-read', {"Expires" => date.rfc2822})
154
+ key.write(File.open(local_file) , {:expires => date.rfc2822 , :acl => :public_read })
154
155
  end
155
156
  self.update_column(:copied_to_s3 , true)
156
157
  puts "Copied"
@@ -166,7 +167,7 @@ module Gluttonberg
166
167
  def remove_asset_folder_from_s3
167
168
  bucket = bucket_handle
168
169
  unless bucket.blank?
169
- bucket.delete_folder(self.directory)
170
+ bucket.objects.with_prefix(self.directory).delete_all
170
171
  end
171
172
  end
172
173
 
@@ -177,14 +178,18 @@ module Gluttonberg
177
178
  def download_orginal_file_from_s3
178
179
  FileUtils.mkdir(self.tmp_directory) unless File.exists?(self.tmp_directory)
179
180
  bucket = bucket_handle
180
- key = bucket.key(self.location_on_disk)
181
- File.open(self.tmp_location_on_disk, "w") do |f|
182
- f.write(key.get)
181
+ key = bucket.objects[self.location_on_disk]
182
+ File.open(self.tmp_location_on_disk, "w", encoding: "ASCII-8BIT") do |f|
183
+ key.read do |chunk|
184
+ f.write(chunk)
185
+ end
183
186
  end
184
- key = bucket.key(self.original_file_on_disk)
187
+ key = bucket.objects[self.original_file_on_disk]
185
188
  if key.exists?
186
- File.open(self.tmp_original_file_on_disk, "w") do |f|
187
- f.write(key.get)
189
+ File.open(self.tmp_original_file_on_disk, "w", encoding: "ASCII-8BIT") do |f|
190
+ key.read do |chunk|
191
+ f.write(chunk)
192
+ end
188
193
  end
189
194
  end
190
195
  end
@@ -1,3 +1,3 @@
1
1
  module Gluttonberg
2
- VERSION = "2.5.6"
2
+ VERSION = "2.5.7"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gluttonberg-core
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.5.6
4
+ version: 2.5.7
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -12,7 +12,7 @@ authors:
12
12
  autorequire:
13
13
  bindir: bin
14
14
  cert_chain: []
15
- date: 2013-02-13 00:00:00.000000000 Z
15
+ date: 2013-02-14 00:00:00.000000000 Z
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency
18
18
  name: authlogic
@@ -286,6 +286,22 @@ dependencies:
286
286
  - - ! '>='
287
287
  - !ruby/object:Gem::Version
288
288
  version: '0'
289
+ - !ruby/object:Gem::Dependency
290
+ name: aws-sdk
291
+ requirement: !ruby/object:Gem::Requirement
292
+ none: false
293
+ requirements:
294
+ - - '='
295
+ - !ruby/object:Gem::Version
296
+ version: 1.8.1.3
297
+ type: :runtime
298
+ prerelease: false
299
+ version_requirements: !ruby/object:Gem::Requirement
300
+ none: false
301
+ requirements:
302
+ - - '='
303
+ - !ruby/object:Gem::Version
304
+ version: 1.8.1.3
289
305
  description: ! 'The Gluttonberg goal has always been to create a Content Management
290
306
  System that''s great for users, content manager and developers. The focus of Gluttonberg
291
307
  2.5 has been two-fold: a refined management user interface to make maintaining your