Skip to content

Latest commit

 

History

History
69 lines (48 loc) · 1.48 KB

README.md

File metadata and controls

69 lines (48 loc) · 1.48 KB

Export Package Version Build Status

Erlport wrapper for Elixir.

Installation

Add export to your list of dependencies in mix.exs:

def application do
  [applications: [:export]]
end

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

Usage

Ruby

defmodule SomeRubyCall do
  use Export.Ruby

  def call_ruby_method do
    # path to ruby files
    {:ok, ruby} = Ruby.start(ruby_lib: Path.expand("lib/ruby"))

    # call "upcase" method from "test" file with "hello" argument
    ruby |> Ruby.call("test", "upcase", ["hello"])

    # same as above but prettier
    ruby |> Ruby.call(upcase("hello"), from_file: "test")
  end
end

Python

defmodule SomePythonCall do
  use Export.Python

  def call_python_method do
    # path to our python files
    {:ok, py} = Python.start(python_path: Path.expand("lib/python"))

    # call "upcase" method from "test" file with "hello" argument
    py |> Python.call("test", "upcase", ["hello"])

    # same as above but prettier
    val = py |> Python.call(upcase("hello"), from_file: "test")

    # close the Python process
    py |> Python.close()

    val
  end
end

Thank you!

Become Patreon