An open API service indexing awesome lists of open source software.

https://github.com/cldwalker/core

*Unfinished* Easily use and share your ruby extensions and other extension libraries ie ActiveSupport, facets
https://github.com/cldwalker/core

Last synced: 8 months ago
JSON representation

*Unfinished* Easily use and share your ruby extensions and other extension libraries ie ActiveSupport, facets

Awesome Lists containing this project

README

          

== Description

Provides an easy way of using/sharing Ruby extension libraries (think activesupport) with a bias to monkeypatch-agnostic
extensions. {Read this}[http://http://tagaholic.me/2009/01/can-we-share-our-extensions-without.html]
for an explanation of why.

== Examples

Using {my extension library}[http://github.com/cldwalker/my_core] for these examples
irb>> require 'core'; require 'my_core'
true
irb>> Core.default_library = MyCore
MyCore
irb>> Core.extends Array
true
irb>> Array.ancestors
=> [Array, MyCore::Array, Enumerable, Object, PP::ObjectMixin, Kernel]

== Limitations

Checks for method name collisions currently use \*instance\_methods and *methods of a class.
Patches for more thorough checks are welcome.

== Todo

* Config file to save/load your often used extensions
* Support loading multiple files ie multiple methods under a class directory ie
activesupport/facets-like.
* Make it easier to share (a la sake) and use core extensions made by others.
* Provide aliasing for methods to bypass method name clashes.
* Use Ruby2Ruby to handpick methods to extend.