Current section

Files

Jump to
ami lib uploaders profile_image_uploader.ex
Raw

lib/uploaders/profile_image_uploader.ex

defmodule Ami.ProfileImageUploader do
use Arc.Definition
use Arc.Ecto.Definition
@acl :public_read_write
@versions [:original, :thumb, :small_thumb]
def validate({file, _}) do
~w(.jpg .jpeg .gif .png) |> Enum.member?(Path.extname(file.file_name))
end
def transform(:thumb, _) do
{:convert, "-strip -thumbnail 200x200^ -gravity center -extent 200x200 -format png", :png}
end
def transform(:small_thumb, _) do
{:convert, "-strip -thumbnail 50x50^ -gravity center -extent 50x50 -format png", :png}
end
def filename(version, {file, _scope}) do
file_name = Path.basename(file.file_name, Path.extname(file.file_name))
"#{version}_#{file_name}"
end
def storage_dir(version, {_file, scope}) do
"uploads/profiles/image/#{version}"
end
def defautl_url(_version, _scope) do
"static/images/profiles/nav_profile_default.png"
end
end