diff --git a/.travis.yml b/.travis.yml index 4ff2d3a..0c80678 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,19 +1,13 @@ language: elixir elixir: - - 1.5 - - 1.6 - 1.7 + - 1.8 + - 1.9 otp_release: - - 19.0 - 20.0 - 21.0 -matrix: - exclude: - - elixir: 1.5 - otp_release: 21 - sudo: required services: @@ -21,7 +15,7 @@ services: before_script: - make code-analysis - - make dialyzer + # - make dialyzer script: - make test_ci diff --git a/README.md b/README.md index 8b94491..6102ef0 100644 --- a/README.md +++ b/README.md @@ -25,7 +25,7 @@ The project currently provides the following functionality: ~~~elixir def deps do - [{:gen_rmq, "~> 1.3.0"}] + [{:gen_rmq, "~> 2.0.0"}] end ~~~ diff --git a/lib/binding.ex b/lib/binding.ex index d975aa7..e48aede 100644 --- a/lib/binding.ex +++ b/lib/binding.ex @@ -54,9 +54,8 @@ defmodule GenRMQ.Binding do exchange end - defp bind_queue(chan, queue, exchange_name, routing_key) when is_list(routing_key) do - Enum.reduce_while(routing_key, :ok, fn(rk, acc) -> + Enum.reduce_while(routing_key, :ok, fn rk, acc -> case Queue.bind(chan, queue, exchange_name, routing_key: rk) do :ok -> {:cont, acc} err -> {:halt, err} diff --git a/mix.exs b/mix.exs index b8de91f..18db70f 100644 --- a/mix.exs +++ b/mix.exs @@ -1,13 +1,13 @@ defmodule GenRMQ.Mixfile do use Mix.Project - @version "1.3.0" + @version "2.0.0" def project do [ app: :gen_rmq, version: @version, - elixir: "~> 1.5", + elixir: "~> 1.7", start_permanent: Mix.env() == :prod, elixirc_paths: elixirc_paths(Mix.env()), deps: deps(), @@ -46,7 +46,7 @@ defmodule GenRMQ.Mixfile do {:excoveralls, "~> 0.11.0", only: :test}, {:jason, "~> 1.1", only: [:dev, :test]}, {:earmark, "~> 1.2", only: :dev}, - {:ex_doc, "~> 0.18.0", only: :dev}, + {:ex_doc, "~> 0.21.0", only: :dev}, {:dialyxir, "~> 1.0.0-rc.6", only: [:dev], runtime: false} ] end diff --git a/mix.lock b/mix.lock index a8e82ee..0dca343 100644 --- a/mix.lock +++ b/mix.lock @@ -7,7 +7,7 @@ "dialyxir": {:hex, :dialyxir, "1.0.0-rc.6", "78e97d9c0ff1b5521dd68041193891aebebce52fc3b93463c0a6806874557d7d", [:mix], [{:erlex, "~> 0.2.1", [hex: :erlex, repo: "hexpm", optional: false]}], "hexpm"}, "earmark": {:hex, :earmark, "1.4.0", "397e750b879df18198afc66505ca87ecf6a96645545585899f6185178433cc09", [:mix], [], "hexpm"}, "erlex": {:hex, :erlex, "0.2.1", "cee02918660807cbba9a7229cae9b42d1c6143b768c781fa6cee1eaf03ad860b", [:mix], [], "hexpm"}, - "ex_doc": {:hex, :ex_doc, "0.18.4", "4406b8891cecf1352f49975c6d554e62e4341ceb41b9338949077b0d4a97b949", [:mix], [{:earmark, "~> 1.1", [hex: :earmark, repo: "hexpm", optional: false]}], "hexpm"}, + "ex_doc": {:hex, :ex_doc, "0.21.1", "5ac36660846967cd869255f4426467a11672fec3d8db602c429425ce5b613b90", [:mix], [{:earmark, "~> 1.3", [hex: :earmark, repo: "hexpm", optional: false]}, {:makeup_elixir, "~> 0.14", [hex: :makeup_elixir, repo: "hexpm", optional: false]}], "hexpm"}, "excoveralls": {:hex, :excoveralls, "0.11.0", "1427780f327902f099ef948bbc107b06a200a14a80e5badc1f9624d0f059235f", [:mix], [{:hackney, "~> 1.0", [hex: :hackney, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm"}, "goldrush": {:hex, :goldrush, "0.1.9", "f06e5d5f1277da5c413e84d5a2924174182fb108dabb39d5ec548b27424cd106", [:rebar3], [], "hexpm"}, "hackney": {:hex, :hackney, "1.15.1", "9f8f471c844b8ce395f7b6d8398139e26ddca9ebc171a8b91342ee15a19963f4", [:rebar3], [{:certifi, "2.5.1", [hex: :certifi, repo: "hexpm", optional: false]}, {:idna, "6.0.0", [hex: :idna, repo: "hexpm", optional: false]}, {:metrics, "1.0.1", [hex: :metrics, repo: "hexpm", optional: false]}, {:mimerl, "~>1.1", [hex: :mimerl, repo: "hexpm", optional: false]}, {:ssl_verify_fun, "1.1.4", [hex: :ssl_verify_fun, repo: "hexpm", optional: false]}], "hexpm"}, @@ -15,11 +15,11 @@ "jason": {:hex, :jason, "1.1.2", "b03dedea67a99223a2eaf9f1264ce37154564de899fd3d8b9a21b1a6fd64afe7", [:mix], [{:decimal, "~> 1.0", [hex: :decimal, repo: "hexpm", optional: true]}], "hexpm"}, "jsx": {:hex, :jsx, "2.9.0", "d2f6e5f069c00266cad52fb15d87c428579ea4d7d73a33669e12679e203329dd", [:mix, :rebar3], [], "hexpm"}, "lager": {:hex, :lager, "3.6.10", "6172b43ab720ac33914ccd0aeb21fdbdf88213847707d4b91e6af57b2ae5c4d2", [:rebar3], [{:goldrush, "0.1.9", [hex: :goldrush, repo: "hexpm", optional: false]}], "hexpm"}, - "makeup": {:hex, :makeup, "0.5.1", "966c5c2296da272d42f1de178c1d135e432662eca795d6dc12e5e8787514edf7", [:mix], [{:nimble_parsec, "~> 0.2.2", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm"}, - "makeup_elixir": {:hex, :makeup_elixir, "0.8.0", "1204a2f5b4f181775a0e456154830524cf2207cf4f9112215c05e0b76e4eca8b", [:mix], [{:makeup, "~> 0.5.0", [hex: :makeup, repo: "hexpm", optional: false]}, {:nimble_parsec, "~> 0.2.2", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm"}, + "makeup": {:hex, :makeup, "1.0.0", "671df94cf5a594b739ce03b0d0316aa64312cee2574b6a44becb83cd90fb05dc", [:mix], [{:nimble_parsec, "~> 0.5.0", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm"}, + "makeup_elixir": {:hex, :makeup_elixir, "0.14.0", "cf8b7c66ad1cff4c14679698d532f0b5d45a3968ffbcbfd590339cb57742f1ae", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}], "hexpm"}, "metrics": {:hex, :metrics, "1.0.1", "25f094dea2cda98213cecc3aeff09e940299d950904393b2a29d191c346a8486", [:rebar3], [], "hexpm"}, "mimerl": {:hex, :mimerl, "1.2.0", "67e2d3f571088d5cfd3e550c383094b47159f3eee8ffa08e64106cdf5e981be3", [:rebar3], [], "hexpm"}, - "nimble_parsec": {:hex, :nimble_parsec, "0.2.2", "d526b23bdceb04c7ad15b33c57c4526bf5f50aaa70c7c141b4b4624555c68259", [:mix], [], "hexpm"}, + "nimble_parsec": {:hex, :nimble_parsec, "0.5.1", "c90796ecee0289dbb5ad16d3ad06f957b0cd1199769641c961cfe0b97db190e0", [:mix], [], "hexpm"}, "parse_trans": {:hex, :parse_trans, "3.3.0", "09765507a3c7590a784615cfd421d101aec25098d50b89d7aa1d66646bc571c1", [:rebar3], [], "hexpm"}, "rabbit_common": {:hex, :rabbit_common, "3.7.15", "fd44d795b905fd55cddb126524a74ef17a3127f2224b958fb19e0979e0aa238c", [:make, :rebar3], [{:jsx, "2.9.0", [hex: :jsx, repo: "hexpm", optional: false]}, {:lager, "3.6.10", [hex: :lager, repo: "hexpm", optional: false]}, {:ranch, "1.7.1", [hex: :ranch, repo: "hexpm", optional: false]}, {:recon, "2.5.0", [hex: :recon, repo: "hexpm", optional: false]}], "hexpm"}, "ranch": {:hex, :ranch, "1.7.1", "6b1fab51b49196860b733a49c07604465a47bdb78aa10c1c16a3d199f7f8c881", [:rebar3], [], "hexpm"}, diff --git a/test/gen_rmq_consumer_test.exs b/test/gen_rmq_consumer_test.exs index cf7980f..1632dcf 100644 --- a/test/gen_rmq_consumer_test.exs +++ b/test/gen_rmq_consumer_test.exs @@ -224,7 +224,12 @@ defmodule GenRMQ.ConsumerTest do test "should receive a message, no matter the routing key", context do message = %{"msg" => "some message"} - publish_message(context[:rabbit_conn], context[:exchange], Jason.encode!(message), "sdlkjkjlefberBogusKEYWHatever") + publish_message( + context[:rabbit_conn], + context[:exchange], + Jason.encode!(message), + "sdlkjkjlefberBogusKEYWHatever" + ) Assert.repeatedly(fn -> assert Agent.get(WithFanoutExchange, fn set -> message in set end) == true