Proof-of-Concept of simpler RubyInstaller's DevKit activation and detection mechanism.
It aims to replace current approach of dealing with DevKit installation and replace by a RubyGems plugin.
IMPORTANT
This project is not 100% functional, it implements some of the ideas mentioned in RubyInstaller's mailing list:
https://groups.google.com/d/topic/rubyinstaller/fZAmPSlz4zM/discussion
Please see the TODO list of things to be completed before this project can be considered ready.
TODO
- Add basic
devkit.rb - Add RubyGems plugin hook
- Reorganize classes and introduce specs to activation and detection
- Download, verify and extract DevKit (perhaps bundle 7za?)
-
devkit.ymlgenerator - CLI
Internals
The following describes a bit the internal classes of this gem:
# obtain list of possible places for DevKit installation DevKit.candidates # => ["C:/Ruby200-x64/DevKit", "C:/ProgramData/RubyInstaller/DevKit/mingw64-64-4.7.2"] # determine real availability (using checks and binaries listed in devkit.yml) path = DevKit.available.first # => "C:/ProgramData/RubyInstaller/DevKit/mingw64-64-4.7.2" # activate the DevKit in path activator = DevKit::Activator.new(path) # => #<DevKit::Activator:0x0000000313e860 .... @info_file=#<struct DevKit::InfoFile root="C:/Ruby200-x64">, @path="C:/ProgramData/RubyInstaller/DevKit/mingw64-64-4.7.2"> a.activate! # => true a.activated? # => true
Installation
Use RubyGems to install the gem:
gem install rubyinstaller-devkitAnd then verify your DevKit installation:
Usage
TODO: Write usage instructions here
Contributing
- Fork it ( https://github.com/oneclick/devkit-gem/fork )
- Create your feature branch (
git checkout -b my-new-feature) - Commit your changes (
git commit -am 'Add some feature') - Push to the branch (
git push origin my-new-feature) - Create a new Pull Request