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.
-  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
 
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?
# => trueUse RubyGems to install the gem:
gem install rubyinstaller-devkitAnd then verify your DevKit installation:
devkit checkTODO: Write usage instructions here
- 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