attached 0.2.2 → 0.2.3
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.
- data/README.rdoc +34 -9
- data/lib/attached.rb +4 -6
- data/lib/attached/storage.rb +4 -4
- data/lib/attached/storage/aws.rb +2 -2
- data/lib/attached/storage/google.rb +3 -3
- data/lib/attached/storage/rackspace.rb +1 -1
- data/lib/attached/version.rb +1 -1
- metadata +3 -3
data/README.rdoc
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
= Attached
|
2
2
|
|
3
|
-
Attached is a Ruby on Rails file attachment tool that lets users upload to the cloud, then process in the cloud. The
|
3
|
+
Attached is a Ruby on Rails file attachment tool that lets users upload to the cloud, then process in the cloud. The gem supports AWS, Google and Rackspace for storage networks by default. It is influenced (and copied) from Paperclip.
|
4
4
|
|
5
5
|
== Requirements
|
6
6
|
|
@@ -58,22 +58,47 @@ View:
|
|
58
58
|
|
59
59
|
== Advanced
|
60
60
|
|
61
|
-
===
|
61
|
+
=== Validations
|
62
|
+
|
63
|
+
# app/models/person.rb
|
64
|
+
validates_attached_presence :avatar
|
65
|
+
validates_attached_size :avatar, :in => 2.kilobytes..2.megabytes
|
66
|
+
|
67
|
+
==== Storage
|
62
68
|
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
69
|
+
# app/models/person.rb
|
70
|
+
has_attached :avatar, :medium => :aws, :credentials => "#{Rails.root}/config/aws.yml"
|
71
|
+
|
72
|
+
# app/models/person.rb
|
73
|
+
has_attached :avatar, :medium => :google, "#{Rails.root}/config/google.yml"
|
74
|
+
|
75
|
+
# app/models/person.rb
|
76
|
+
has_attached :avatar, :medium => :rackspace, "#{Rails.root}/config/rackspace.yml"
|
77
|
+
|
78
|
+
# config/initializers/attached.rb
|
79
|
+
Attached::Attachment.options[:medium] = :aws
|
80
|
+
Attached::Attachment.options[:credentials] = "#{Rails.root}/config/aws.yml"
|
81
|
+
|
82
|
+
# config/initializers/attached.rb
|
83
|
+
Attached::Attachment.options[:medium] = :google
|
84
|
+
Attached::Attachment.options[:credentials] = "#{Rails.root}/config/google.yml"
|
85
|
+
|
86
|
+
# config/initializers/attached.rb
|
87
|
+
Attached::Attachment.options[:medium] = :rackspace
|
88
|
+
Attached::Attachment.options[:credentials] = "#{Rails.root}/config/rackspace.yml"
|
67
89
|
|
68
90
|
=== Processor
|
69
91
|
|
92
|
+
# app/models/person.rb
|
70
93
|
has_attached :avatar, :processor => :image, :styles => {
|
71
|
-
:small => { :size =>
|
72
|
-
:large => { :size =>
|
94
|
+
:small => { :size => '200x200<', :extension => 'png' },
|
95
|
+
:large => { :size => '400x400>', :extension => 'png' },
|
96
|
+
:default => { :size => '300x300#' },
|
73
97
|
}
|
74
98
|
|
75
|
-
===
|
99
|
+
=== Aliases
|
76
100
|
|
101
|
+
# app/initializer/attached.rb
|
77
102
|
Attached::Attachment.options[:aliases] = %w(
|
78
103
|
d1kf5um3mxa8kv.cloudfront.net
|
79
104
|
d3d5wf186mp1rv.cloudfront.net
|
data/lib/attached.rb
CHANGED
@@ -31,17 +31,15 @@ module Attached
|
|
31
31
|
#
|
32
32
|
# Options:
|
33
33
|
#
|
34
|
-
# * :styles -
|
35
|
-
# * :storage -
|
36
|
-
# * :processor -
|
34
|
+
# * :styles - a hash containing style names followed by parameters passed to processor
|
35
|
+
# * :storage - a symbol for a predefined storage or a custom storage class
|
36
|
+
# * :processor - a symbol for a predefined processor or a custom processor class
|
37
37
|
#
|
38
38
|
# Usage:
|
39
39
|
#
|
40
40
|
# has_attached :video
|
41
41
|
# has_attached :video, :storage => :s3
|
42
|
-
# has_attached :video, styles =>
|
43
|
-
# has_attached :video, styles => { :main => { :size => "480p", :format => "mp4" } }
|
44
|
-
# has_attached :thumbnail, :range => (1..4)
|
42
|
+
# has_attached :video, styles => { :mov => { :size => "480p", :format => "mov" } }
|
45
43
|
|
46
44
|
def has_attached(name, options = {})
|
47
45
|
|
data/lib/attached/storage.rb
CHANGED
@@ -10,11 +10,11 @@ module Attached
|
|
10
10
|
#
|
11
11
|
# Usage:
|
12
12
|
#
|
13
|
-
# Attached::Storage.storage(:aws)
|
14
|
-
# Attached::Storage.storage(:google)
|
15
|
-
# Attached::Storage.storage(:rackspace)
|
13
|
+
# Attached::Storage.storage(:aws, "#{Rails.root}/config/aws.yml" )
|
14
|
+
# Attached::Storage.storage(:google, "#{Rails.root}/config/google.yml" )
|
15
|
+
# Attached::Storage.storage(:rackspace, "#{Rails.root}/config/rackspace.yml")
|
16
16
|
|
17
|
-
def self.storage(medium
|
17
|
+
def self.storage(medium, credentials)
|
18
18
|
|
19
19
|
case medium
|
20
20
|
when :aws then return Attached::Storage::AWS.new credentials
|
data/lib/attached/storage/aws.rb
CHANGED
@@ -48,7 +48,7 @@ module Attached
|
|
48
48
|
end
|
49
49
|
|
50
50
|
|
51
|
-
# Save a file to a given path
|
51
|
+
# Save a file to a given path.
|
52
52
|
#
|
53
53
|
# Parameters:
|
54
54
|
#
|
@@ -65,7 +65,7 @@ module Attached
|
|
65
65
|
end
|
66
66
|
|
67
67
|
|
68
|
-
# Destroy a file at a given path
|
68
|
+
# Destroy a file at a given path.
|
69
69
|
#
|
70
70
|
# Parameters:
|
71
71
|
#
|
@@ -37,7 +37,7 @@ module Attached
|
|
37
37
|
end
|
38
38
|
|
39
39
|
|
40
|
-
# Access the host (e.g.
|
40
|
+
# Access the host (e.g. https://attached.commondatastorage.googleapis.com/) for a storage service.
|
41
41
|
#
|
42
42
|
# Usage:
|
43
43
|
#
|
@@ -48,7 +48,7 @@ module Attached
|
|
48
48
|
end
|
49
49
|
|
50
50
|
|
51
|
-
# Save a file to a given path
|
51
|
+
# Save a file to a given path.
|
52
52
|
#
|
53
53
|
# Parameters:
|
54
54
|
#
|
@@ -65,7 +65,7 @@ module Attached
|
|
65
65
|
end
|
66
66
|
|
67
67
|
|
68
|
-
# Destroy a file at a given path
|
68
|
+
# Destroy a file at a given path.
|
69
69
|
#
|
70
70
|
# Parameters:
|
71
71
|
#
|
data/lib/attached/version.rb
CHANGED
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 2
|
8
|
-
-
|
9
|
-
version: 0.2.
|
8
|
+
- 3
|
9
|
+
version: 0.2.3
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Kevin Sylvestre
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2011-01-
|
17
|
+
date: 2011-01-22 00:00:00 -05:00
|
18
18
|
default_executable:
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|