Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/shikhalev/ppruby
Ruby binding units for Free Pascal / Lazarus
https://github.com/shikhalev/ppruby
Last synced: about 1 month ago
JSON representation
Ruby binding units for Free Pascal / Lazarus
- Host: GitHub
- URL: https://github.com/shikhalev/ppruby
- Owner: shikhalev
- Created: 2010-11-04T17:05:37.000Z (about 14 years ago)
- Default Branch: master
- Last Pushed: 2013-12-15T17:05:39.000Z (almost 11 years ago)
- Last Synced: 2023-03-11T11:02:46.152Z (over 1 year ago)
- Language: Oxygene
- Homepage:
- Size: 1.39 MB
- Stars: 20
- Watchers: 4
- Forks: 6
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ppRuby
**Ruby binding for Free Pascal and Lazarus**
**Author:** [Ivan Shikhalev](https://github.com/shikhalev).
**License:** [GNU GPL v3+](http://www.gnu.org/copyleft/gpl.html).
**Homepage:** [this](https://github.com/shikhalev/ppruby), welcome
to [Wiki](https://github.com/shikhalev/ppruby/wiki)
and [Issue tracker](https://github.com/shikhalev/ppruby/issues).**Version:** 1.0 public beta.
**Documentation:** [only in Russian](https://github.com/shikhalev/ppruby/blob/master/doc/ppruby-ru.md), sorry...
## Overview
This is a lazarus-package for use Ruby in Pascal projects. It is solving two task:
* Add a Ruby scripting engine in your project;
* or write extension libraries for Ruby using Free Pascal.See also
[the Ruby documentation](http://rubydoc.info/stdlib/core/file/README.EXT).### Package
This package contains the next parts:
* API bindings in `ruby.pas`. This file may be compiled in two different modes
(by setting conditional defines): static and dynamic. If `RUBY_STATIC`
defined, your program will linked with selected version of `libruby`. It is
the only right way for creation ruby extension and efficient but not flexible
way for add Ruby in pascal programs. In dynamic way you select library version
at run-time.
* Units `RbTools` and `RbObjects` provided some utilities for comfortable
conversions between Ruby and Pascal data types. Pascal objects convert to Ruby
objects with autodefinitions of published properties. And other properties and
methods may defined by hands.
* Other units provide definitions some public members of common classes. This
part of package will be extend from version to version.Also this repo contains the demo project for demonstrate the basic features.
The subdir `demo/rb` contains some ruby-scripts usable for it.### Compatibility
The package was testing in FPC 2.7.1 and Lazarus 1.3 with Ruby 1.9.3 and 2.0.
Ruby 1.8 is unsupported.It's not fully tested but must work in Windows, Linux and Mac OS X under
32- and 64-bit architecture.## RoadMap
* Define methods for most standard classes:
* unit `Forms`;
* unit `Controls`;
* unit `Graphics`;
* unit `Dialogs`;
* And other...* Writing documentation.
* Ruby 2.1 compatibility.
* IDE integration.
* Ruby SynHighlighter(?)