Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
The Rubinius Language Platform

Fix Ruby 2.0+ behavior for respond_to? on protected methods.

From Ruby 2.0 forward, respond_to? returns false for protected methods.
Resolves #3328
latest commit 55e4848320
Joe Eli McIlvain jemc authored
Failed to load latest commit information.
.bundle Updated .bundle/config.
bin Removed rubygems override env vars when running bin/mspec.
debian debian build update for rubinius-2.3
kernel Fix Array#slice! with length argument for single item arrays
library Use ENV['CC'], ENV['CXX'] or cc/c++ defaulst for RbConfig settings.
mspec Updated MSpec source to b437013f.
rakelib Added FFI generators for ifaddrs.h/socket.h
spec Fix Ruby 2.0+ behavior for respond_to? on protected methods.
tools Changed references from vm/external_libs to vendor.
vendor Removed libyaml (again).
vm Fix Ruby 2.0+ behavior for respond_to? on protected methods.
.autotest added RUBY env for autotest
.editorconfig Added configuration file for EditorConfig.
.gdbinit Check CallFrames directly from their VM
.gitignore Ignore build_ruby/build_signature.
.travis.yml Make travis-ci run specs with verbose mspec formatter.
AUTHORS fix typo in authors
CONTRIBUTING.md Updated CONTRIBUTING.
Gemfile Bumped daedalus gem to 0.1.0.
Gemfile.installed Updated gems.
Gemfile.lock Updated compiler version.
LICENSE Mention contributors in the LICENSE file.
README Updated README and added README.md.
README.md Updated link references in README.md
Rakefile Make `rake ci` output slightly less verbose.
SECURITY Add basic instructions for security reports
THANKS THANKS copy edits
configure Fixed checking clang/clang++.
gems_list.txt Updated Gems list for ruby-resolv 2.1.2
rubinius-build_tools.gemspec Added gemspecs for Rubinius meta-gems.
rubinius-developer_tools.gemspec Added gemspecs for Rubinius meta-gems.
rubinius.gemspec Fixed rubinius metagem description.
security.pub Add basic instructions for security reports

README.md

Gitter Build Status

The Rubinius Language Platform

Rubinius is a modern language platform that supports a number of programming languages.

Rubinius includes a bytecode virtual machine, generational garbage collector, and just-in-time (JIT) native machine code compiler. Rubinius provides concurrency support via native OS threads with no global interpreter lock.

Rubinius runs on Mac OS X and many Unix/Linux operating systems. Microsoft Windows is not yet supported.

The Ruby Programming Language

Many popular Ruby applications, like Rails, run on Rubinius, which aims to be compatible with Ruby version 2.1.

Rubinius includes a Ruby parser, Ruby bytecode compiler, Ruby core library, and C-API compatibility for native C extensions. The Ruby core library is written almost entirely in Ruby. The Ruby bytecode compiler and other tools, such as the debugger, are also written in Ruby. Rubinius provides the standard Ruby libraries, with the following exceptions:

  • Continuation
  • Ripper
  • TracePoint
  • Tracer

The following Ruby features are not supported on Rubinius:

  • Refinements
  • $SAFE levels

License

Rubinius uses the BSD license. See LICENSE for details.

Installing Rubinius from Source

To install Rubinius, use the following steps:

  1. Ensure that MRI 2.0+, rubygems, rake, git and LLVM are installed
  2. git clone git://github.com/rubinius/rubinius.git
  3. cd rubinius
  4. bundle
  5. ./configure --prefix=/path/to/install/dir
  6. rake

When the install process finishes, follow the directions printed to the terminal to add the Rubinius executable (bin) directory to your PATH. For more information see the documentation for Build Requirements and Building Rubinius.

Using RubyGems

Rubinius comes with RubyGems built-in. To install a gem, run the following:

$ rbx -S gem install <gem_name>

Documentation

The Rubinius documentation is available at the Rubinius website.

Issues & Support

Please file tickets for bugs or problems.

For additional help, visit the Rubinius Gitter chat room.

Contributing

The Rubinius team welcomes contributions. For more information, read the CONTRIBUTING file and see the documentation about contributing.

Something went wrong with that request. Please try again.