Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
P
paperclip
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
ikcrm_common
paperclip
Commits
03560dc1
Commit
03560dc1
authored
Jun 30, 2011
by
Mike Burns
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'fog_patches' of
https://github.com/kickstarter/paperclip
parents
db11fca8
be08b80e
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
31 additions
and
34 deletions
+31
-34
lib/paperclip/storage/fog.rb
+15
-11
test/fog_test.rb
+16
-23
No files found.
lib/paperclip/storage/fog.rb
View file @
03560dc1
...
...
@@ -45,6 +45,7 @@ module Paperclip
@fog_credentials
=
@options
[
:fog_credentials
]
@fog_host
=
@options
[
:fog_host
]
@fog_public
=
@options
[
:fog_public
]
@fog_file
=
@options
[
:fog_file
]
||
{}
@url
=
':fog_public_url'
Paperclip
.
interpolates
(
:fog_public_url
)
do
|
attachment
,
style
|
...
...
@@ -64,11 +65,19 @@ module Paperclip
def
flush_writes
for
style
,
file
in
@queued_for_write
do
log
(
"saving
#{
path
(
style
)
}
"
)
directory
.
files
.
create
(
:body
=>
file
,
:key
=>
path
(
style
),
:public
=>
@fog_public
)
retried
=
false
begin
directory
.
files
.
create
(
@fog_file
.
merge
(
:body
=>
file
,
:key
=>
path
(
style
),
:public
=>
@fog_public
))
rescue
Excon
::
Errors
::
NotFound
raise
if
retried
retried
=
true
directory
.
save
retry
end
end
@queued_for_write
=
{}
end
...
...
@@ -115,12 +124,7 @@ module Paperclip
end
def
directory
@directory
||=
begin
connection
.
directories
.
get
(
@fog_directory
)
||
connection
.
directories
.
create
(
:key
=>
@fog_directory
,
:public
=>
@fog_public
)
end
@directory
||=
connection
.
directories
.
new
(
:key
=>
@fog_directory
)
end
end
...
...
test/fog_test.rb
View file @
03560dc1
...
...
@@ -16,15 +16,21 @@ class FogTest < Test::Unit::TestCase
}
@connection
=
Fog
::
Storage
.
new
(
@credentials
)
@connection
.
directories
.
create
(
:key
=>
@fog_directory
)
rebuild_model
(
@options
=
{
:fog_directory
=>
@fog_directory
,
:fog_credentials
=>
@credentials
,
:fog_host
=>
nil
,
:fog_public
=>
true
,
:fog_file
=>
{
:cache_control
=>
1234
},
:path
=>
":attachment/:basename.:extension"
,
:storage
=>
:fog
)
}
rebuild_model
(
@options
)
end
should
"be extended by the Fog module"
do
...
...
@@ -46,16 +52,17 @@ class FogTest < Test::Unit::TestCase
end
context
"without a bucket"
do
should
"succeed"
do
setup
do
@connection
.
directories
.
get
(
@fog_directory
).
destroy
end
should
"create the bucket"
do
assert
@dummy
.
save
assert
@connection
.
directories
.
get
(
@fog_directory
)
end
end
context
"with a bucket"
do
setup
do
@connection
.
directories
.
create
(
:key
=>
@fog_directory
)
end
should
"succeed"
do
assert
@dummy
.
save
end
...
...
@@ -63,14 +70,7 @@ class FogTest < Test::Unit::TestCase
context
"without a fog_host"
do
setup
do
rebuild_model
(
:fog_directory
=>
@fog_directory
,
:fog_credentials
=>
@credentials
,
:fog_host
=>
nil
,
:fog_public
=>
true
,
:path
=>
":attachment/:basename.:extension"
,
:storage
=>
:fog
)
rebuild_model
(
@options
.
merge
(
:fog_host
=>
nil
))
@dummy
=
Dummy
.
new
@dummy
.
avatar
=
StringIO
.
new
(
'.'
)
@dummy
.
save
...
...
@@ -83,14 +83,7 @@ class FogTest < Test::Unit::TestCase
context
"with a fog_host"
do
setup
do
rebuild_model
(
:fog_directory
=>
@fog_directory
,
:fog_credentials
=>
@credentials
,
:fog_host
=>
'http://example.com'
,
:fog_public
=>
true
,
:path
=>
":attachment/:basename.:extension"
,
:storage
=>
:fog
)
rebuild_model
(
@options
.
merge
(
:fog_host
=>
'http://example.com'
))
@dummy
=
Dummy
.
new
@dummy
.
avatar
=
StringIO
.
new
(
'.'
)
@dummy
.
save
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment