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
- Host: GitHub
- URL: https://github.com/cldwalker/core
- Owner: cldwalker
- License: mit
- Created: 2008-12-09T22:57:47.000Z (over 17 years ago)
- Default Branch: master
- Last Pushed: 2010-08-14T08:54:53.000Z (almost 16 years ago)
- Last Synced: 2025-10-08T04:34:53.935Z (8 months ago)
- Language: Ruby
- Homepage:
- Size: 160 KB
- Stars: 3
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.rdoc
- License: LICENSE.txt
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.