59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
|
# File 'lib/simply_stored/simpledb/storag.rb', line 59
def define_attachment_accessors(name)
define_method(name) do
unless @_attachments and @_attachments[name]
@_attachments = {name => {}}
@_attachments[name][:value] = s3_bucket(name).get(s3_attachment_key(name))
end
@_attachments[name][:value]
end
define_method("#{name}=") do |value|
@_attachments ||= {}
@_attachments[name] ||= {}
@_attachments[name].update(:value => value, :dirty => true)
value
end
define_method("#{name}_url") do
if _s3_options[name][:permissions] == 'private'
RightAws::S3Generator.new(AWS_CONFIG[:aws_access_key_id], AWS_CONFIG[:aws_secret_access_key], :multi_thread => true).bucket(_s3_options[name][:bucket]).get(s3_attachment_key(name), 5.minutes)
else
"http://#{_s3_options[name][:bucket].to_s}.s3.amazonaws.com/#{s3_attachment_key(name)}"
end
end
end
|