module

Vow::Exportable

Inherits Vow::Mountable

include Vow::Exportable turns a class into a dispatch surface whose wire methods are exactly the ones you annotate with @[Vow::Export]. Everything else stays private to Crystal. This is the explicit, opt-in flavor.

class API include Vow::Exportable

@[Vow::Export]
def greet(name : String) : String
  "Hello, #{name}!"
end

end

The compiler generates the dispatch glue via Vow::Exportable::Generated (see there for what vow_install / vow_descriptors / vow_types do and the compile-time contract every exported signature must satisfy).

Nested types