From c11b2f7b49e7eb49d46a7b69aa041ca94737616e Mon Sep 17 00:00:00 2001 From: Rui Onodera Date: Mon, 16 Oct 2017 00:41:55 +0900 Subject: [PATCH 1/2] Enable CircleCI --- .circleci/config.yml | 18 ++++++++++++++++++ README.md | 2 ++ 2 files changed, 20 insertions(+) create mode 100644 .circleci/config.yml diff --git a/.circleci/config.yml b/.circleci/config.yml new file mode 100644 index 0000000..0cc9e80 --- /dev/null +++ b/.circleci/config.yml @@ -0,0 +1,18 @@ +# https://github.com/CircleCI-Public/circleci-demo-elixir-phoenix +version: 2.0 +jobs: + build: + working_directory: ~/exseed + docker: + - image: elixir:1.5.1 + environment: + - MIX_ENV=test + - image: postgres:9.6.3 + environment: + - POSTGRES_USER=postgres + steps: + - checkout + - run: echo "Yes" | mix local.hex + - run: echo "Yes" | mix local.rebar + - run: mix deps.get + - run: mix test diff --git a/README.md b/README.md index b75971a..e31da74 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,8 @@ An Elixir library that provides a simple DSL for seeding databases through Ecto. Inspired largely by [seed-fu](https://github.com/mbleigh/seed-fu). +[![CircleCI](https://circleci.com/gh/seaneshbaugh/exseed/tree/master.svg?style=svg)](https://circleci.com/gh/seaneshbaugh/exseed/tree/master) + ## Installation In your project's `mix.exs` add the following: From 352013ad67d26101382b1680ceb131e9c03596c4 Mon Sep 17 00:00:00 2001 From: Rui Onodera Date: Mon, 16 Oct 2017 00:34:07 +0900 Subject: [PATCH 2/2] Fix the argument for ensure_repo --- lib/mix/tasks/exseed.seed.ex | 26 ++++++++++++++------------ mix.exs | 2 +- test/mix/tasks/exseed.seed_test.exs | 2 +- 3 files changed, 16 insertions(+), 14 deletions(-) diff --git a/lib/mix/tasks/exseed.seed.ex b/lib/mix/tasks/exseed.seed.ex index 12a202d..e7d1998 100644 --- a/lib/mix/tasks/exseed.seed.ex +++ b/lib/mix/tasks/exseed.seed.ex @@ -18,26 +18,28 @@ defmodule Mix.Tasks.Exseed.Seed do import Mix.Ecto def run(args) do - repo = parse_repo(args) + repos = parse_repo(args) - ensure_repo(repo, []) + Enum.each repos, fn repo -> + ensure_repo(repo, []) - Mix.Task.run "app.start", args + Mix.Task.run "app.start", args - {opts, _, _} = OptionParser.parse args, switches: [quiet: :boolean, path: :string] + {opts, _, _} = OptionParser.parse args, switches: [quiet: :boolean, path: :string] - seed_path = opts[:path] || "priv/repo/seeds/" + seed_path = opts[:path] || "priv/repo/seeds/" - unless File.exists?(seed_path) do - raise File.Error, reason: :enoent, action: "find", path: seed_path - end + unless File.exists?(seed_path) do + raise File.Error, reason: :enoent, action: "find", path: seed_path + end - {:ok, seed_files} = File.ls(seed_path) + {:ok, seed_files} = File.ls(seed_path) - seed_files |> Enum.each(&(Code.load_file(Path.join(seed_path, &1)))) + seed_files |> Enum.each(&(Code.load_file(Path.join(seed_path, &1)))) - unless opts[:quiet] do - Mix.shell.info "The database for #{inspect repo} has been seeded." + unless opts[:quiet] do + Mix.shell.info "The database for #{inspect repo} has been seeded." + end end end end diff --git a/mix.exs b/mix.exs index 1aa34ab..1e3f7e9 100644 --- a/mix.exs +++ b/mix.exs @@ -25,7 +25,7 @@ defmodule Exseed.Mixfile do defp deps do [ { :earmark, "~> 0.2", only: :dev }, - { :ecto, ">= 1.0.0" }, + { :ecto, ">= 1.1.0" }, { :ex_doc, "~> 0.11", only: :dev } ] end diff --git a/test/mix/tasks/exseed.seed_test.exs b/test/mix/tasks/exseed.seed_test.exs index 00f46f2..d0ab175 100644 --- a/test/mix/tasks/exseed.seed_test.exs +++ b/test/mix/tasks/exseed.seed_test.exs @@ -12,6 +12,6 @@ defmodule Mix.Tasks.Exseed.SeedTest do test "runs the seed task" do Seed.run ["-r", to_string(TestRepo), "--path", "test/support/seeds"] - assert_received {:mix_shell, :info, ["The database for [Exseed.TestRepo] has been seeded."]} + assert_received {:mix_shell, :info, ["The database for Exseed.TestRepo has been seeded."]} end end