diff --git a/lib/paperclip/storage/s3.rb b/lib/paperclip/storage/s3.rb index 904511cdd..70cf5fc70 100644 --- a/lib/paperclip/storage/s3.rb +++ b/lib/paperclip/storage/s3.rb @@ -433,9 +433,9 @@ def copy_to_local_file(style, local_dest_path) def find_credentials(creds) case creds when File - YAML::safe_load(ERB.new(File.read(creds.path)).result, [], [], true) + load_credentials_from_file(creds.path) when String, Pathname - YAML::safe_load(ERB.new(File.read(creds)).result, [], [], true) + load_credentials_from_file(creds) when Hash creds when NilClass @@ -445,6 +445,14 @@ def find_credentials(creds) end end + def load_credentials_from_file(path) + if Gem::Version.new(Psych::VERSION) >= Gem::Version.new("3.1.0") + YAML::safe_load(ERB.new(File.read(path)).result, aliases: true) + else + YAML::safe_load(ERB.new(File.read(path)).result, [], [], true) + end + end + def use_secure_protocol?(style_name) s3_protocol(style_name) == "https" end