Top Level Namespace
Defined Under Namespace
Modules: Inline Classes: CompilationError, Dir, File, Module
Instance Method Summary collapse
-
#rbconfig ⇒ Object
Ruby Inline is a framework for writing ruby extensions in foreign languages.
Instance Method Details
#rbconfig ⇒ Object
Ruby Inline is a framework for writing ruby extensions in foreign languages.
SYNOPSIS
require 'inline'
class MyClass
inline do |builder|
builder.include "<math.h>"
builder.c %q{
long factorial(int max) {
int i=max, result=1;
while (i >= 2) { result *= i--; }
return result;
}
}
end
end
DESCRIPTION
Inline allows you to write foreign code within your ruby code. It automatically determines if the code in question has changed and builds it only when necessary. The extensions are then automatically loaded into the class/module that defines it.
You can even write extra builders that will allow you to write inlined code in any language. Use Inline::C as a template and look at Module#inline for the required API.
PACKAGING
To package your binaries into a gem, use hoe’s INLINE and FORCE_PLATFORM env vars.
Example:
rake package INLINE=1
or:
rake package INLINE=1 FORCE_PLATFORM=mswin32
See hoe for more details.
50 |
# File 'lib/inline.rb', line 50 require "rbconfig" |