Sha256: cdd9ee550e8d87f10b1d26d3ed31bdb0b071bd12fcc4d04cd767b7d2fd588a7b

Contents?: true

Size: 541 Bytes

Versions: 1

Compression:

Stored size: 541 Bytes

Contents

defmodule MixLockJson.CLI do
  def main(mix_lock_path \\ "") do
    mix_lock_path
    |> parse_mix_lock
    |> IO.puts
  end

  defp parse_mix_lock(mix_lock_path) do
    {:ok, lockfile} = File.read(mix_lock_path)
    {lock_deps, _} = lockfile |> Code.eval_string

    Poison.encode!(Enum.reduce(lock_deps, [], fn(i, acc) ->
      case i do
        {name, {_, _, version, _hash, _, _child_deps, _}} -> [%{name => version} | acc]
        {name, {:git, _path, hash, _}} -> [%{name => hash} | acc]
        _ -> acc
      end
    end))
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
license_scout-2.0.2 native_parsers/mix_lock_json/lib/mix_lock_json.ex