model_attachment 0.0.25 → 0.0.26

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.
@@ -59,8 +59,10 @@ module ModelAttachment
59
59
  elsif !options[:aws].nil? && File.exist?(options[:aws])
60
60
  include AmazonInstanceMethods
61
61
  end
62
-
63
- write_inheritable_attribute(:attachment_options, options)
62
+
63
+ class_attribute :attachment_options
64
+ self.attachment_options = options
65
+ # write_inheritable_attribute(:attachment_options, options)
64
66
 
65
67
  # must be before the save to save the attributes
66
68
  before_save :save_attributes
@@ -110,7 +112,8 @@ module ModelAttachment
110
112
 
111
113
  # Returns attachment options defined by each call to acts_as_attachment.
112
114
  def attachment_options
113
- read_inheritable_attribute(:attachment_options)
115
+ # read_inheritable_attribute(:attachment_options)
116
+ self.attachment_options
114
117
  end
115
118
 
116
119
  end
@@ -1,5 +1,6 @@
1
1
  module ModelAttachment
2
2
  module AmazonInstanceMethods
3
+ attr_accessor :default_bucket
3
4
 
4
5
  # returns the aws url
5
6
  # +type+: type passed to has_attachment, ex. small, large
@@ -15,12 +16,6 @@ module ModelAttachment
15
16
  end
16
17
  end
17
18
 
18
- # sets the default aws bucket
19
- # +current_bucket+: set the current bucket, default 'globalfolders'
20
- def default_bucket(current_bucket = 'globalfolders')
21
- current_bucket
22
- end
23
-
24
19
  # creates the aws_key
25
20
  # +type+: type passed to has_attachment, ex. small, large
26
21
  def aws_key(type = "")
@@ -41,7 +36,8 @@ module ModelAttachment
41
36
  :secret_access_key => config['secret_access_key'],
42
37
  :use_ssl => true,
43
38
  :persistent => true # if issues with disconnections, set to false
44
- )
39
+ )
40
+ self.default_bucket = self.class.attachment_options[:bucket] || 'globalfolders'
45
41
  else
46
42
  raise "You must provide an amazon.yml config file"
47
43
  end
@@ -63,7 +59,7 @@ module ModelAttachment
63
59
  AWS::S3::S3Object.store(aws_key(name.to_s), open(full_filename, 'rb'), default_bucket, :content_type => content_type)
64
60
  end
65
61
 
66
- self.bucket = default_bucket
62
+ self.bucket = self.default_bucket
67
63
  @dirty = true
68
64
  save!
69
65
  rescue AWS::S3::ResponseError => error
@@ -155,4 +151,4 @@ module ModelAttachment
155
151
  end
156
152
 
157
153
  end
158
- end
154
+ end
@@ -1,3 +1,3 @@
1
1
  module ModelAttachment
2
- VERSION = "0.0.25"
2
+ VERSION = "0.0.26"
3
3
  end
@@ -82,7 +82,7 @@ end
82
82
  class DocumentWithResize < Document
83
83
  has_attachment :path => "/system/:domain/:folder/:document/:version/",
84
84
  :types => {
85
- :small => { :command => '/opt/local/bin/convert -geometry 100x100' }
85
+ :small => { :command => '/usr/local/bin/convert -geometry 100x100' }
86
86
  }
87
87
  end
88
88
 
@@ -90,8 +90,9 @@ class DocumentWithAWS < Document
90
90
  has_attachment :path => "/system/:domain/:folder/:document/:version/",
91
91
  :aws => File.join(Rails.root, "amazon.yml"),
92
92
  :types => {
93
- :small => { :command => '/opt/local/bin/convert -geometry 100x100' }
93
+ :small => { :command => '/usr/local/bin/convert -geometry 100x100' }
94
94
  },
95
+ :bucket => 'test.globalfolders.com',
95
96
  :logging => true
96
97
  end
97
98
 
@@ -184,10 +185,10 @@ class ModelAttachmentTest < Test::Unit::TestCase
184
185
  assert_equal "image/jpeg", document.content_type
185
186
 
186
187
  document.move_to_amazon
187
- assert_equal 'globalfolders', document.bucket
188
+ assert_equal 'test.globalfolders.com', document.bucket
188
189
 
189
- assert_match /https:\/\/s3.amazonaws.com\/globalfolders\/system\/bbs\/1\/1\/0\/test3\.jpg/, document.url
190
- assert_match /https:\/\/s3.amazonaws.com\/globalfolders\/system\/bbs\/1\/1\/0\/test3_small\.jpg/, document.url(:type => "small")
190
+ assert_match /https:\/\/s3.amazonaws.com\/test.globalfolders.com\/system\/bbs\/1\/1\/0\/test3\.jpg/, document.url
191
+ assert_match /https:\/\/s3.amazonaws.com\/test.globalfolders.com\/system\/bbs\/1\/1\/0\/test3_small\.jpg/, document.url(:type => "small")
191
192
 
192
193
  assert !File.exists?(RAILS_ROOT + "/system/bbs/1/1/0/test3.jpg")
193
194
  assert !File.exists?(RAILS_ROOT + "/system/bbs/1/1/0/test3_small.jpg")
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: model_attachment
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.0.25
5
+ version: 0.0.26
6
6
  platform: ruby
7
7
  authors:
8
8
  - Steve Walker
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2011-03-24 00:00:00 -04:00
13
+ date: 2012-06-05 00:00:00 -04:00
14
14
  default_executable:
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
@@ -58,7 +58,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - ">="
60
60
  - !ruby/object:Gem::Version
61
- hash: -4316983688232993659
61
+ hash: -87829182241577493
62
62
  segments:
63
63
  - 0
64
64
  version: "0"
@@ -71,7 +71,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
71
71
  requirements: []
72
72
 
73
73
  rubyforge_project: model_attachment
74
- rubygems_version: 1.5.2
74
+ rubygems_version: 1.6.2
75
75
  signing_key:
76
76
  specification_version: 3
77
77
  summary: A simple file attachment gem