/elixir_sandbox

An Elixir Lua Sandbox built on top of Robert Virding's Luerl

Primary LanguageElixirApache License 2.0Apache-2.0

Sandbox

Sandbox helps to provide restricted, isolated scripting environments for Elixir through the use of embedded Lua. Powered by Robert Virding's amazing Luerl library, its minimal API is focused on facilitating the creation of "safe" server-side DSLs.

The API has been modified from the Erlang original such that functions can modify the state of the VM (mutations) or return a discrete value, but not both. The :luerl_sandbox module is utilized wherever possible.

Installation

If available in Hex, the package can be installed by adding sandbox to your list of dependencies in mix.exs:

def deps do
  [
    {:sandbox, "~> 0.1.0"}
  ]
end

Documentation can be generated with ExDoc and published on HexDocs. Once published, the docs can be found at https://hexdocs.pm/sandbox.