Skip to content

Commit

Permalink
Update deps, fix Elixir 1.4 warnings
Browse files Browse the repository at this point in the history
  • Loading branch information
keichan34 committed Apr 11, 2017
1 parent b033b63 commit adaf3ca
Show file tree
Hide file tree
Showing 18 changed files with 116 additions and 115 deletions.
4 changes: 2 additions & 2 deletions lib/exfile/backend_test.ex
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,12 @@ defmodule Exfile.BackendTest do
alias Exfile.Backend
alias Exfile.LocalFile

def backend_mod, do: unquote(backend_mod_to_test)
def backend_mod(), do: unquote(backend_mod_to_test)

import Exfile.BackendTest

setup do
backend = backend_mod.init(unquote(opts))
backend = backend_mod().init(unquote(opts))
{:ok, [backend: backend]}
end

Expand Down
2 changes: 1 addition & 1 deletion lib/exfile/config.ex
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,7 @@ defmodule Exfile.Config do

@doc false
def code_change(_, state, _) do
send(self, :refresh_backend_config)
send(self(), :refresh_backend_config)
{:ok, state}
end

Expand Down
10 changes: 5 additions & 5 deletions lib/exfile/ecto/file_template.ex
Original file line number Diff line number Diff line change
Expand Up @@ -38,8 +38,8 @@ defmodule Exfile.Ecto.FileTemplate do

@behaviour Ecto.Type

defp backend, do: Exfile.Config.get_backend(unquote(backend_name))
defp cache_backend, do: Exfile.Config.get_backend(unquote(cache_backend_name))
defp backend(), do: Exfile.Config.get_backend(unquote(backend_name))
defp cache_backend(), do: Exfile.Config.get_backend(unquote(cache_backend_name))

@doc "The Ecto type"
def type, do: :string
Expand All @@ -64,7 +64,7 @@ defmodule Exfile.Ecto.FileTemplate do
```
"""
def cast(%Exfile.File{backend: %{backend_name: name}} = file) when not name in [unquote(backend_name), unquote(cache_backend_name)] do
case Exfile.Backend.upload(cache_backend, file) do
case Exfile.Backend.upload(cache_backend(), file) do
{:ok, new_file} ->
{:ok, new_file}
{:error, _reason} ->
Expand All @@ -81,7 +81,7 @@ defmodule Exfile.Ecto.FileTemplate do
})
end
def cast(%Exfile.LocalFile{} = local_file) do
case Exfile.Backend.upload(cache_backend, local_file) do
case Exfile.Backend.upload(cache_backend(), local_file) do
{:ok, new_file} ->
meta = Map.merge(new_file.meta, local_file.meta)
new_file = %{ new_file | meta: meta }
Expand Down Expand Up @@ -137,7 +137,7 @@ defmodule Exfile.Ecto.FileTemplate do
to the database and all validations are passing.
"""
def upload!(file) do
Exfile.Backend.upload(backend, file)
Exfile.Backend.upload(backend(), file)
end
end
end
Expand Down
4 changes: 2 additions & 2 deletions lib/exfile/identify.ex
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ defmodule Exfile.Identify do
"""
@spec mime_type(Path.t) :: {:ok, String.t} | :error
def mime_type(path) do
case System.cmd(file_cmd, ["--mime-type", "-b", path]) do
case System.cmd(file_cmd(), ["--mime-type", "-b", path]) do
{out, 0} ->
extract_content_type_from_file_output(out)
{_, _} ->
Expand All @@ -25,6 +25,6 @@ defmodule Exfile.Identify do
end
end

defp file_cmd,
defp file_cmd(),
do: :os.find_executable('file') |> IO.chardata_to_string
end
4 changes: 2 additions & 2 deletions lib/exfile/router.ex
Original file line number Diff line number Diff line change
Expand Up @@ -163,7 +163,7 @@ defmodule Exfile.Router do
filename = List.last(conn.path_info)
conn
|> put_resp_header("content-disposition", "inline; filename=#{filename}")
|> put_resp_header("expires", expires_header)
|> put_resp_header("expires", expires_header())
|> put_resp_header("cache-control", "max-age=31540000")
|> set_content_type(path)
|> send_file(200, path)
Expand Down Expand Up @@ -209,7 +209,7 @@ defmodule Exfile.Router do
send_resp(conn, 400, "please upload a file") |> halt
end

defp expires_header do
defp expires_header() do
seconds = :calendar.local_time |> :calendar.datetime_to_gregorian_seconds
(seconds + (365 * 24 * 60 * 60))
|> :calendar.gregorian_seconds_to_datetime
Expand Down
2 changes: 1 addition & 1 deletion lib/exfile/supervisor.ex
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ defmodule Exfile.Supervisor do
worker(Exfile.ProcessorRegistry, []),
]

children = children ++ test_children
children = children ++ test_children()

supervise(children, strategy: :one_for_one)
end
Expand Down
6 changes: 3 additions & 3 deletions lib/exfile/tempfile.ex
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ defmodule Exfile.Tempfile do
{:too_many_attempts, binary, pos_integer} |
{:no_tmp, [binary]}
def random_file(prefix) do
GenServer.call(tempfile_server, {:random, prefix})
GenServer.call(tempfile_server(), {:random, prefix})
end

@doc """
Expand All @@ -42,10 +42,10 @@ defmodule Exfile.Tempfile do
"""
@spec register_file(binary) :: :ok
def register_file(path) do
GenServer.call(tempfile_server, {:register_file, path})
GenServer.call(tempfile_server(), {:register_file, path})
end

defp tempfile_server do
defp tempfile_server() do
Process.whereis(__MODULE__) ||
raise "could not find process Exfile.Tempfile. Have you started the :exfile application?"
end
Expand Down
14 changes: 7 additions & 7 deletions mix.exs
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,14 @@ defmodule Exfile.Mixfile do
elixir: "~> 1.2",
build_embedded: Mix.env == :prod,
start_permanent: Mix.env == :prod,
deps: deps,
deps: deps(),
elixirc_paths: elixirc_paths(Mix.env),
source_url: "https://github.com/keichan34/exfile",
docs: [
extras: ["README.md"]
],
package: package,
description: description,
package: package(),
description: description(),
dialyzer: [
plt_file: ".local.plt",
plt_add_apps: [
Expand Down Expand Up @@ -61,8 +61,8 @@ defmodule Exfile.Mixfile do
{:poison, "~> 1.5 or ~> 2.0", optional: true},
{:timex, "~> 2.0", only: [:dev, :test]},
{:postgrex, "~> 0.11", only: [:dev, :test]},
{:earmark, "~> 0.1", only: :dev},
{:ex_doc, "~> 0.11", only: :dev}
{:earmark, "~> 1.1", only: :dev},
{:ex_doc, "~> 0.15", only: :dev}
]
end

Expand All @@ -85,9 +85,9 @@ defmodule Exfile.Mixfile do
end

defp git_tag(_args) do
version_tag = case Version.parse(project[:version]) do
version_tag = case Version.parse(project()[:version]) do
{:ok, %Version{pre: []}} ->
"v" <> project[:version]
"v" <> project()[:version]
_ ->
raise "Version should be a release version."
end
Expand Down
47 changes: 24 additions & 23 deletions mix.lock
Original file line number Diff line number Diff line change
@@ -1,23 +1,24 @@
%{"certifi": {:hex, :certifi, "0.4.0", "a7966efb868b179023618d29a407548f70c52466bf1849b9e8ebd0e34b7ea11f", [:rebar3], []},
"combine": {:hex, :combine, "0.9.1", "5fd778ee77032ae593bf79aedb8519d9e36283e4f869abd98c2d6029ca476db8", [:mix], []},
"connection": {:hex, :connection, "1.0.4", "a1cae72211f0eef17705aaededacac3eb30e6625b04a6117c1b2db6ace7d5976", [:mix], []},
"db_connection": {:hex, :db_connection, "1.0.0-rc.4", "fad1f772c151cc6bde82412b8d72319968bc7221df8ef7d5e9d7fde7cb5c86b7", [:mix], [{:connection, "~> 1.0.2", [hex: :connection, optional: false]}, {:poolboy, "~> 1.5", [hex: :poolboy, optional: true]}, {:sbroker, "~> 1.0.0-beta.3", [hex: :sbroker, optional: true]}]},
"decimal": {:hex, :decimal, "1.1.2", "79a769d4657b2d537b51ef3c02d29ab7141d2b486b516c109642d453ee08e00c", [:mix], []},
"earmark": {:hex, :earmark, "0.2.1", "ba6d26ceb16106d069b289df66751734802777a3cbb6787026dd800ffeb850f3", [:mix], []},
"ecto": {:hex, :ecto, "2.0.2", "b02331c1f20bbe944dbd33c8ecd8f1ccffecc02e344c4471a891baf3a25f5406", [:mix], [{:db_connection, "~> 1.0-rc.2", [hex: :db_connection, optional: true]}, {:decimal, "~> 1.0", [hex: :decimal, optional: false]}, {:mariaex, "~> 0.7.7", [hex: :mariaex, optional: true]}, {:poison, "~> 1.5 or ~> 2.0", [hex: :poison, optional: true]}, {:poolboy, "~> 1.5", [hex: :poolboy, optional: false]}, {:postgrex, "~> 0.11.2", [hex: :postgrex, optional: true]}, {:sbroker, "~> 1.0-beta", [hex: :sbroker, optional: true]}]},
"ex_doc": {:hex, :ex_doc, "0.12.0", "b774aabfede4af31c0301aece12371cbd25995a21bb3d71d66f5c2fe074c603f", [:mix], [{:earmark, "~> 0.2", [hex: :earmark, optional: false]}]},
"gettext": {:hex, :gettext, "0.11.0", "80c1dd42d270482418fa158ec5ba073d2980e3718bacad86f3d4ad71d5667679", [:mix], []},
"hackney": {:hex, :hackney, "1.6.0", "8d1e9440c9edf23bf5e5e2fe0c71de03eb265103b72901337394c840eec679ac", [:rebar3], [{:certifi, "0.4.0", [hex: :certifi, optional: false]}, {:idna, "1.2.0", [hex: :idna, optional: false]}, {:metrics, "1.0.1", [hex: :metrics, optional: false]}, {:mimerl, "1.0.2", [hex: :mimerl, optional: false]}, {:ssl_verify_fun, "1.1.0", [hex: :ssl_verify_fun, optional: false]}]},
"idna": {:hex, :idna, "1.2.0", "ac62ee99da068f43c50dc69acf700e03a62a348360126260e87f2b54eced86b2", [:rebar3], []},
"metrics": {:hex, :metrics, "1.0.1", "25f094dea2cda98213cecc3aeff09e940299d950904393b2a29d191c346a8486", [:rebar3], []},
"mimerl": {:hex, :mimerl, "1.0.2", "993f9b0e084083405ed8252b99460c4f0563e41729ab42d9074fd5e52439be88", [:rebar3], []},
"phoenix": {:hex, :phoenix, "1.2.0", "1bdeb99c254f4c534cdf98fd201dede682297ccc62fcac5d57a2627c3b6681fb", [:mix], [{:cowboy, "~> 1.0", [hex: :cowboy, optional: true]}, {:phoenix_pubsub, "~> 1.0", [hex: :phoenix_pubsub, optional: false]}, {:plug, "~> 1.1", [hex: :plug, optional: false]}, {:poison, "~> 1.5 or ~> 2.0", [hex: :poison, optional: false]}]},
"phoenix_html": {:hex, :phoenix_html, "2.6.0", "b9f7e091eb3d908586d9634596478fb9e577ee033d76f4ff327a745569bdd2d8", [:mix], [{:plug, "~> 0.13 or ~> 1.0", [hex: :plug, optional: false]}]},
"phoenix_pubsub": {:hex, :phoenix_pubsub, "1.0.0", "c31af4be22afeeebfaf246592778c8c840e5a1ddc7ca87610c41ccfb160c2c57", [:mix], []},
"plug": {:hex, :plug, "1.1.6", "8927e4028433fcb859e000b9389ee9c37c80eb28378eeeea31b0273350bf668b", [:mix], [{:cowboy, "~> 1.0", [hex: :cowboy, optional: true]}]},
"poison": {:hex, :poison, "2.2.0", "4763b69a8a77bd77d26f477d196428b741261a761257ff1cf92753a0d4d24a63", [:mix], []},
"poolboy": {:hex, :poolboy, "1.5.1", "6b46163901cfd0a1b43d692657ed9d7e599853b3b21b95ae5ae0a777cf9b6ca8", [:rebar], []},
"postgrex": {:hex, :postgrex, "0.11.2", "139755c1359d3c5c6d6e8b1ea72556d39e2746f61c6ddfb442813c91f53487e8", [:mix], [{:connection, "~> 1.0", [hex: :connection, optional: false]}, {:db_connection, "~> 1.0-rc", [hex: :db_connection, optional: false]}, {:decimal, "~> 1.0", [hex: :decimal, optional: false]}]},
"ssl_verify_fun": {:hex, :ssl_verify_fun, "1.1.0", "edee20847c42e379bf91261db474ffbe373f8acb56e9079acb6038d4e0bf414f", [:rebar, :make], []},
"timex": {:hex, :timex, "2.2.1", "0d69012a7fd69f4cbdaa00cc5f2a5f30f1bed56072fb362ed4bddf60db343022", [:mix], [{:combine, "~> 0.7", [hex: :combine, optional: false]}, {:gettext, "~> 0.10", [hex: :gettext, optional: false]}, {:tzdata, "~> 0.1.8 or ~> 0.5", [hex: :tzdata, optional: false]}]},
"tzdata": {:hex, :tzdata, "0.5.8", "a4ffe564783c6519e4df230a5d0e1cf44b7db7f576bcae76d05540b5da5b6143", [:mix], [{:hackney, "~> 1.0", [hex: :hackney, optional: false]}]}}
%{"certifi": {:hex, :certifi, "1.0.0", "1c787a85b1855ba354f0b8920392c19aa1d06b0ee1362f9141279620a5be2039", [:rebar3], []},
"combine": {:hex, :combine, "0.9.6", "8d1034a127d4cbf6924c8a5010d3534d958085575fa4d9b878f200d79ac78335", [:mix], []},
"connection": {:hex, :connection, "1.0.4", "a1cae72211f0eef17705aaededacac3eb30e6625b04a6117c1b2db6ace7d5976", [], []},
"db_connection": {:hex, :db_connection, "1.1.2", "2865c2a4bae0714e2213a0ce60a1b12d76a6efba0c51fbda59c9ab8d1accc7a8", [:mix], [{:connection, "~> 1.0.2", [hex: :connection, optional: false]}, {:poolboy, "~> 1.5", [hex: :poolboy, optional: true]}, {:sbroker, "~> 1.0", [hex: :sbroker, optional: true]}]},
"decimal": {:hex, :decimal, "1.3.1", "157b3cedb2bfcb5359372a7766dd7a41091ad34578296e951f58a946fcab49c6", [:mix], []},
"earmark": {:hex, :earmark, "1.2.0", "bf1ce17aea43ab62f6943b97bd6e3dc032ce45d4f787504e3adf738e54b42f3a", [:mix], []},
"ecto": {:hex, :ecto, "2.1.4", "d1ba932813ec0e0d9db481ef2c17777f1cefb11fc90fa7c142ff354972dfba7e", [:mix], [{:db_connection, "~> 1.1", [hex: :db_connection, optional: true]}, {:decimal, "~> 1.2", [hex: :decimal, optional: false]}, {:mariaex, "~> 0.8.0", [hex: :mariaex, optional: true]}, {:poison, "~> 2.2 or ~> 3.0", [hex: :poison, optional: true]}, {:poolboy, "~> 1.5", [hex: :poolboy, optional: false]}, {:postgrex, "~> 0.13.0", [hex: :postgrex, optional: true]}, {:sbroker, "~> 1.0", [hex: :sbroker, optional: true]}]},
"ex_doc": {:hex, :ex_doc, "0.15.0", "e73333785eef3488cf9144a6e847d3d647e67d02bd6fdac500687854dd5c599f", [:mix], [{:earmark, "~> 1.1", [hex: :earmark, optional: false]}]},
"gettext": {:hex, :gettext, "0.13.1", "5e0daf4e7636d771c4c71ad5f3f53ba09a9ae5c250e1ab9c42ba9edccc476263", [:mix], []},
"hackney": {:hex, :hackney, "1.7.1", "e238c52c5df3c3b16ce613d3a51c7220a784d734879b1e231c9babd433ac1cb4", [:rebar3], [{:certifi, "1.0.0", [hex: :certifi, optional: false]}, {:idna, "4.0.0", [hex: :idna, optional: false]}, {:metrics, "1.0.1", [hex: :metrics, optional: false]}, {:mimerl, "1.0.2", [hex: :mimerl, optional: false]}, {:ssl_verify_fun, "1.1.1", [hex: :ssl_verify_fun, optional: false]}]},
"idna": {:hex, :idna, "4.0.0", "10aaa9f79d0b12cf0def53038547855b91144f1bfcc0ec73494f38bb7b9c4961", [:rebar3], []},
"metrics": {:hex, :metrics, "1.0.1", "25f094dea2cda98213cecc3aeff09e940299d950904393b2a29d191c346a8486", [], []},
"mime": {:hex, :mime, "1.1.0", "01c1d6f4083d8aa5c7b8c246ade95139620ef8effb009edde934e0ec3b28090a", [:mix], []},
"mimerl": {:hex, :mimerl, "1.0.2", "993f9b0e084083405ed8252b99460c4f0563e41729ab42d9074fd5e52439be88", [], []},
"phoenix": {:hex, :phoenix, "1.2.3", "b68dd6a7e6ff3eef38ad59771007d2f3f344988ea6e658e9b2c6ffb2ef494810", [:mix], [{:cowboy, "~> 1.0", [hex: :cowboy, optional: true]}, {:phoenix_pubsub, "~> 1.0", [hex: :phoenix_pubsub, optional: false]}, {:plug, "~> 1.4 or ~> 1.3.3 or ~> 1.2.4 or ~> 1.1.8 or ~> 1.0.5", [hex: :plug, optional: false]}, {:poison, "~> 1.5 or ~> 2.0", [hex: :poison, optional: false]}]},
"phoenix_html": {:hex, :phoenix_html, "2.9.3", "1b5a2122cbf743aa242f54dced8a4f1cc778b8bd304f4b4c0043a6250c58e258", [:mix], [{:plug, "~> 1.0", [hex: :plug, optional: false]}]},
"phoenix_pubsub": {:hex, :phoenix_pubsub, "1.0.1", "c10ddf6237007c804bf2b8f3c4d5b99009b42eca3a0dfac04ea2d8001186056a", [:mix], []},
"plug": {:hex, :plug, "1.3.4", "b4ef3a383f991bfa594552ded44934f2a9853407899d47ecc0481777fb1906f6", [:mix], [{:cowboy, "~> 1.0.1 or ~> 1.1", [hex: :cowboy, optional: true]}, {:mime, "~> 1.0", [hex: :mime, optional: false]}]},
"poison": {:hex, :poison, "2.2.0", "4763b69a8a77bd77d26f477d196428b741261a761257ff1cf92753a0d4d24a63", [], []},
"poolboy": {:hex, :poolboy, "1.5.1", "6b46163901cfd0a1b43d692657ed9d7e599853b3b21b95ae5ae0a777cf9b6ca8", [], []},
"postgrex": {:hex, :postgrex, "0.13.2", "2b88168fc6a5456a27bfb54ccf0ba4025d274841a7a3af5e5deb1b755d95154e", [:mix], [{:connection, "~> 1.0", [hex: :connection, optional: false]}, {:db_connection, "~> 1.1", [hex: :db_connection, optional: false]}, {:decimal, "~> 1.0", [hex: :decimal, optional: false]}]},
"ssl_verify_fun": {:hex, :ssl_verify_fun, "1.1.1", "28a4d65b7f59893bc2c7de786dec1e1555bd742d336043fe644ae956c3497fbe", [:make, :rebar], []},
"timex": {:hex, :timex, "2.2.1", "0d69012a7fd69f4cbdaa00cc5f2a5f30f1bed56072fb362ed4bddf60db343022", [], [{:combine, "~> 0.7", [hex: :combine, optional: false]}, {:gettext, "~> 0.10", [hex: :gettext, optional: false]}, {:tzdata, "~> 0.1.8 or ~> 0.5", [hex: :tzdata, optional: false]}]},
"tzdata": {:hex, :tzdata, "0.5.11", "3d5469a9f46bdf4a8760333dbdabdcc4751325035c454b10521f71e7c611ae50", [:mix], [{:hackney, "~> 1.0", [hex: :hackney, optional: false]}]}}
4 changes: 2 additions & 2 deletions test/exfile/backend/file_system_test.exs
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ defmodule Exfile.Backend.FileSystemTest do
end

test "uploading a different backend file works", c do
backend2 = backend_mod.init(
backend2 = backend_mod().init(
directory: Path.expand("./tmp/test_filesystem_2")
)

Expand All @@ -39,7 +39,7 @@ defmodule Exfile.Backend.FileSystemTest do
File.touch!(Path.join(dir, "old_file.txt"), :calendar.universal_time |> :calendar.datetime_to_gregorian_seconds |> Kernel.-(3600) |> :calendar.gregorian_seconds_to_datetime)
File.touch!(Path.join(dir, "future_file.txt"), :calendar.universal_time |> :calendar.datetime_to_gregorian_seconds |> Kernel.+(3600) |> :calendar.gregorian_seconds_to_datetime)

_backend = backend_mod.init(
_backend = backend_mod().init(
directory: dir,
ttl: 100
)
Expand Down
10 changes: 5 additions & 5 deletions test/exfile/ecto/cast_content_type_test.exs
Original file line number Diff line number Diff line change
Expand Up @@ -5,27 +5,27 @@ defmodule Exfile.Ecto.CastContentTypeTest do
import Exfile.Ecto.CastContentType

test "assigns content type correctly" do
changeset = cast(initial_changeset, %{ image: image_file }, [:image])
changeset = cast(initial_changeset(), %{ image: image_file() }, [:image])
|> cast_content_type(:image)

assert changeset.changes[:image_content_type] == "image/jpeg"
end

test "doesn't assign anything if file is not present in changeset" do
changeset = cast(initial_changeset, %{ image: nil }, [:image])
changeset = cast(initial_changeset(), %{ image: nil }, [:image])
|> cast_content_type(:image)

assert changeset.changes[:image_content_type] == nil
end

test "ability to use custom field name" do
changeset = cast(initial_changeset, %{ image: image_file }, [:image])
changeset = cast(initial_changeset(), %{ image: image_file() }, [:image])
|> cast_content_type(:image, :image_custom_type)

assert changeset.changes[:image_custom_type] == "image/jpeg"
end

defp initial_changeset do
defp initial_changeset() do
data = %{
image: nil,
image_content_type: nil,
Expand All @@ -41,7 +41,7 @@ defmodule Exfile.Ecto.CastContentTypeTest do
{ data, types }
end

defp image_file do
defp image_file() do
%Plug.Upload{ path: "test/fixtures/sample.jpg", filename: "sample.jpg" }
end
end
10 changes: 5 additions & 5 deletions test/exfile/ecto/cast_filename_test.exs
Original file line number Diff line number Diff line change
Expand Up @@ -5,32 +5,32 @@ defmodule Exfile.Ecto.CastFilenameTest do
import Exfile.Ecto.CastFilename

test "assigns content type correctly" do
changeset = cast(initial_changeset, %{ image: image_file }, [:image])
changeset = cast(initial_changeset(), %{ image: image_file() }, [:image])
|> cast_filename(:image)

assert changeset.changes[:image_filename] == "sample.jpg"
end

test "doesn't assign anything if file is not present in changeset" do
changeset = cast(initial_changeset, %{ image: nil }, [:image])
changeset = cast(initial_changeset(), %{ image: nil }, [:image])
|> cast_filename(:image)

assert changeset.changes[:image] == nil
assert changeset.changes[:image_filename] == nil
end

test "ability to use custom field name" do
changeset = cast(initial_changeset, %{ image: image_file }, [:image])
changeset = cast(initial_changeset(), %{ image: image_file() }, [:image])
|> cast_filename(:image, :image_custom_filename)

assert changeset.changes[:image_custom_filename] == "sample.jpg"
end

defp initial_changeset do
defp initial_changeset() do
%Exfile.S.Image{}
end

defp image_file do
defp image_file() do
%Plug.Upload{ path: "test/fixtures/sample.jpg", filename: "sample.jpg" }
end
end
Loading

0 comments on commit adaf3ca

Please sign in to comment.