reprise v0.5.1 Reprise.Runner

Module discovery and reloading.

The main entry point is go/2 function.

Summary

Functions

Returns pairs of beam files and modules which are loaded and belong to the build of current project

Returns all beam files belonging to the build of current project

Attempts to reload all modules which belong to the current mix project and have changed between given time frames

Reloads a single module

Types

beam()
beam() :: String.t
path()
path() :: [String.t]
time()
time() :: :calendar.datetime

Functions

beam_modules(beams \\ __MODULE__.beams())
beam_modules([beam]) :: [{beam, module}]

Returns pairs of beam files and modules which are loaded and belong to the build of current project.

beams()
beams() :: [beam]

Returns all beam files belonging to the build of current project.

go(from, to)
go(time, time) :: :ok | nil

Attempts to reload all modules which belong to the current mix project and have changed between given time frames.

If there were any and they reloaded successfully, prints a summary via Logger.info/1.

Modules whose reload errored are silently ignored.

Returns :ok if there were any modules successfully reloaded or nil when there were none.

iterate_beams(load_path)
iterate_beams(path) :: [beam]
load_path(pattern \\ ~r"/_build/")
load_path(Regex.t) :: path
reload(module)
reload(module) :: {:module, module} | {:error, atom}

Reloads a single module.