From 49eebb52b166a2d201d0c6c472f0081793603269 Mon Sep 17 00:00:00 2001 From: igor Date: Mon, 1 Mar 2010 15:19:48 +0200 Subject: [PATCH] Add S3 storage samples files --- examples/s3/attachment_file.rb | 23 +++++++++++++++++++ examples/s3/picture.rb | 41 ++++++++++++++++++++++++++++++++++ examples/s3/s3.yml | 2 ++ 3 files changed, 66 insertions(+) create mode 100644 examples/s3/attachment_file.rb create mode 100644 examples/s3/picture.rb create mode 100644 examples/s3/s3.yml diff --git a/examples/s3/attachment_file.rb b/examples/s3/attachment_file.rb new file mode 100644 index 0000000..ca58618 --- /dev/null +++ b/examples/s3/attachment_file.rb @@ -0,0 +1,23 @@ +class AttachmentFile < Asset + + # === List of columns === + # id : integer + # data_file_name : string + # data_content_type : string + # data_file_size : integer + # assetable_id : integer + # assetable_type : string + # type : string + # locale : integer + # user_id : integer + # created_at : datetime + # updated_at : datetime + # ======================= + + has_attached_file :data, + :s3_credentials => "#{Rails.root}/config/s3.yml", :bucket => "yourbucket", + :storage => :s3, + :path => "#{APP_NAME}/files/:id/:filename" + + validates_attachment_size :data, :less_than => 10.megabytes +end diff --git a/examples/s3/picture.rb b/examples/s3/picture.rb new file mode 100644 index 0000000..3398416 --- /dev/null +++ b/examples/s3/picture.rb @@ -0,0 +1,41 @@ +class Picture < Asset + + # === List of columns === + # id : integer + # data_file_name : string + # data_content_type : string + # data_file_size : integer + # assetable_id : integer + # assetable_type : string + # type : string + # locale : integer + # user_id : integer + # created_at : datetime + # updated_at : datetime + # ======================= + + + + has_attached_file :data, + :s3_credentials => "#{Rails.root}/config/s3.yml", :bucket => "yourbucket", + :storage => :s3, + :path => "#{APP_NAME}/images/:id/:style_:basename.:extension", + :styles => { :content => '575>', :thumb => '100x100' } + + validates_attachment_size :data, :less_than=>2.megabytes + + def url_content + url(:content) + end + + def url_thumb + url(:thumb) + end + + def to_json(options = {}) + options[:methods] ||= [] + options[:methods] << :url_content + options[:methods] << :url_thumb + super options + end +end diff --git a/examples/s3/s3.yml b/examples/s3/s3.yml new file mode 100644 index 0000000..9b0f0f1 --- /dev/null +++ b/examples/s3/s3.yml @@ -0,0 +1,2 @@ +access_key_id: "YOUR KEY ID" +secret_access_key: "YOUR SECRET KEY"