muto 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/Gemfile +4 -0
- data/README.textile +133 -0
- data/Rakefile +1 -0
- data/bin/extract_muto +77 -0
- data/lib/deploy_scripts/muto.bat +22 -0
- data/lib/deploy_scripts/muto.rb +138 -0
- data/lib/deploy_scripts/reset_command_line.vbs +23 -0
- data/lib/deploy_scripts/ruby_versions.yml +19 -0
- data/lib/muto/version.rb +3 -0
- data/lib/muto.rb +4 -0
- data/muto.gemspec +34 -0
- metadata +82 -0
data/Gemfile
ADDED
data/README.textile
ADDED
@@ -0,0 +1,133 @@
|
|
1
|
+
h1. Overview
|
2
|
+
|
3
|
+
Muto is a lightweight little ruby/vbs/bat script that will allow you switch to another version of Ruby while also allowing you to alter Windows Environment
|
4
|
+
variables at the same time. You can do this with Muto without having to reload your command prompt/shell and all gem paths associated with the chosen
|
5
|
+
version of ruby are automatically updated as you switch versions.
|
6
|
+
|
7
|
+
h2. Why I put this together..
|
8
|
+
|
9
|
+
Firstly, I'm not trying to take anything from Pik, check it out first if you haven't already, there's a thousand things you can do with it and it might be
|
10
|
+
better suited to what your needs are: https://github.com/vertiginous/pik
|
11
|
+
|
12
|
+
I put Muto together because I needed to also frequently change a few environment variables every time I changed my version of ruby and I just got sick
|
13
|
+
of having to do it all the time and then having to reload my command prompt as well just to pick up the changes. Also I needed to be able to switch
|
14
|
+
ruby versions and persist the change to another version of Ruby across my entire Windows environment.
|
15
|
+
|
16
|
+
h2. Example Usage
|
17
|
+
|
18
|
+
<pre>
|
19
|
+
#From the command line
|
20
|
+
|
21
|
+
muto
|
22
|
+
=>Expected format: muto [ruby_version]
|
23
|
+
=>
|
24
|
+
=>Available Versions are:
|
25
|
+
=> 186 ruby 1.8.6 (2007-09-24 patchlevel 111) [i386-mswin32]
|
26
|
+
=> 192 ruby 1.9.2p180 (2011-02-18) [i386-mingw32]
|
27
|
+
=>
|
28
|
+
=>Currently using:
|
29
|
+
=>ruby 1.8.6 (2007-09-24 patchlevel 111) [i386-mswin32]
|
30
|
+
|
31
|
+
ruby -v
|
32
|
+
=>ruby 1.8.6 (2007-09-24 patchlevel 111) [i386-mswin32]
|
33
|
+
|
34
|
+
muto 192
|
35
|
+
=>System updated. Now using:
|
36
|
+
=>ruby 1.9.2p180 (2011-02-18) [i386-mingw32]
|
37
|
+
|
38
|
+
ruby -v
|
39
|
+
=>ruby 1.9.2p180 (2011-02-18) [i386-mingw32]
|
40
|
+
</pre>
|
41
|
+
|
42
|
+
h2. How Muto works..
|
43
|
+
|
44
|
+
Muto works by using an executable .bat file to call a ruby script which will alter your systems environment variables and send an environment changed
|
45
|
+
signal to your Windows environment. It'll then finish by calling a basic vb script to update the shell you're working in so that you won't need to
|
46
|
+
restart your command prompt.
|
47
|
+
|
48
|
+
The actual muto gem is not really a gem at all.. It's just basically a wrapper to help copy the muto scripts to your machine somewhere.
|
49
|
+
|
50
|
+
|
51
|
+
h2. Setup/Config
|
52
|
+
|
53
|
+
Use a normal Windows MRI version of Ruby to install Muto.
|
54
|
+
<pre>gem install muto</pre>
|
55
|
+
|
56
|
+
From the command line, change into a directory where you want to keep the scripts and run: extract_muto
|
57
|
+
|
58
|
+
<pre>cd c:\
|
59
|
+
extract_muto
|
60
|
+
#=>Extracting to C:\Muto
|
61
|
+
#=>Generating C:\Muto\muto.rb
|
62
|
+
#=>Generating C:\Muto\reset_command_line.vbs
|
63
|
+
#=>Generating C:\Muto\ruby_versions.yml
|
64
|
+
#=>Writing C:\Muto\muto.bat file..
|
65
|
+
#=>
|
66
|
+
#=>Add Ruby versions to your C:\Muto\ruby_versions.yml"
|
67
|
+
#=>Then add C:\Muto to your Windows PATH environment variable and you're good to go
|
68
|
+
</pre>
|
69
|
+
|
70
|
+
|
71
|
+
h3. ruby_versions.yml
|
72
|
+
|
73
|
+
As well as being able to switch to other versions of Ruby in your Windows environment, you can also define other User Environment Variables to change at
|
74
|
+
the same time. Muto switches versions of Ruby by just regex-ing out the ruby bin folder out of your Windows PATH variable and replacing it with the new
|
75
|
+
version you choose. This way none of the other paths in your environments PATH variable are altered.
|
76
|
+
|
77
|
+
The User Environment Variables are set completely differently! The values you give them are the full values used to define the variable so if there is an
|
78
|
+
existing variable already defined in your User Environment variables then it will be overwritten with the new value.
|
79
|
+
|
80
|
+
<pre>
|
81
|
+
# ruby_versions.yml example
|
82
|
+
|
83
|
+
ruby_versions:
|
84
|
+
ruby_186:
|
85
|
+
shortcut: 186
|
86
|
+
bin_folder: C:\ruby\bin
|
87
|
+
ruby_192:
|
88
|
+
shortcut: 192
|
89
|
+
bin_folder: C:\ruby192\bin
|
90
|
+
|
91
|
+
jruby_164_jre6:
|
92
|
+
shortcut: jr_j6
|
93
|
+
bin_folder: C:\jruby-1.6.4\bin
|
94
|
+
exe_name: jruby.exe
|
95
|
+
user_env_variables:
|
96
|
+
java_home: C:\Program Files\Java\jre6
|
97
|
+
jruby_164_jre7:
|
98
|
+
shortcut: jr_j7
|
99
|
+
bin_folder: C:\jruby-1.6.4\bin
|
100
|
+
exe_name: jruby.exe
|
101
|
+
user_env_variables:
|
102
|
+
java_home: C:\Program Files\Java\jre7
|
103
|
+
|
104
|
+
</pre>
|
105
|
+
|
106
|
+
|
107
|
+
h2. License
|
108
|
+
|
109
|
+
MIT License
|
110
|
+
|
111
|
+
Copyright (C) 2011 by Lucas Hills
|
112
|
+
|
113
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
114
|
+
of this software and associated documentation files (the "Software"), to deal
|
115
|
+
in the Software without restriction, including without limitation the rights
|
116
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
117
|
+
copies of the Software, and to permit persons to whom the Software is
|
118
|
+
furnished to do so, subject to the following conditions:
|
119
|
+
|
120
|
+
The above copyright notice and this permission notice shall be included in
|
121
|
+
all copies or substantial portions of the Software.
|
122
|
+
|
123
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
124
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
125
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
126
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
127
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
128
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
129
|
+
THE SOFTWARE.
|
130
|
+
|
131
|
+
|
132
|
+
|
133
|
+
|
data/Rakefile
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
require 'bundler/gem_tasks'
|
data/bin/extract_muto
ADDED
@@ -0,0 +1,77 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require 'fileutils'
|
4
|
+
require 'rbconfig'
|
5
|
+
|
6
|
+
#
|
7
|
+
# The following script will just extract the contents of the deploy_scripts directory somewhere onto the users
|
8
|
+
# machine. The directory where the scripts are extracted to should be added to your Windows PATH environment variable
|
9
|
+
# to add the muto command to the command line
|
10
|
+
#
|
11
|
+
# Usage: extract_muto
|
12
|
+
#
|
13
|
+
|
14
|
+
class Muto
|
15
|
+
|
16
|
+
def self.deploy
|
17
|
+
begin
|
18
|
+
muto_root_dir = File.expand_path(File.join(Dir.pwd, 'Muto'))
|
19
|
+
puts "Extracting to #{muto_root_dir.to_s.gsub(/\//, '\\')}"
|
20
|
+
FileUtils.mkdir_p(muto_root_dir) unless File.directory?(muto_root_dir)
|
21
|
+
|
22
|
+
template_dir = File.expand_path(File.join(File.dirname(__FILE__), "/../lib/deploy_scripts"))
|
23
|
+
templates = File.join(template_dir, "/**/*")
|
24
|
+
|
25
|
+
Dir[templates].each do |source|
|
26
|
+
|
27
|
+
next if source.match(/muto.bat\z/) #ignore muto.bat here, going to write it next
|
28
|
+
|
29
|
+
destination = File.join(muto_root_dir, source.gsub(/^.*\/deploy_scripts/, ''))
|
30
|
+
if File.exist?(destination) || (File.directory? destination)
|
31
|
+
puts "Skipping #{destination.to_s.gsub(/\//, '\\')} because it already exists"
|
32
|
+
else
|
33
|
+
puts "Generating #{destination.to_s.gsub(/\//, '\\')}"
|
34
|
+
File.directory?(source) ? FileUtils.mkdir(destination) : FileUtils.cp(source, destination)
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
ruby = File.join(Config::CONFIG['bindir'], Config::CONFIG['ruby_install_name'])
|
39
|
+
ruby << Config::CONFIG['EXEEXT']
|
40
|
+
|
41
|
+
# The muto.bat script needs to have a hardcoded fullpath to a Ruby.exe so that it can function
|
42
|
+
# independently from the version of ruby installed on your system. The following few lines just
|
43
|
+
# amend the muto.bat script to use the fullpath of the version of ruby that you've used to extract
|
44
|
+
# the muto scripts
|
45
|
+
|
46
|
+
orig = File.open(File.expand_path(File.join(File.dirname(__FILE__), "/../lib/deploy_scripts", "muto.bat")))
|
47
|
+
dest = File.new(File.expand_path(File.join(muto_root_dir, "muto.bat")), "w")
|
48
|
+
|
49
|
+
puts "Writing #{dest.path.to_s.gsub(/\//, '\\')} file.."
|
50
|
+
begin
|
51
|
+
while (line = orig.readline)
|
52
|
+
dest.puts line.gsub(/C:\\ruby\\bin\\ruby.exe/, ruby)
|
53
|
+
end
|
54
|
+
rescue EOFError
|
55
|
+
orig.close
|
56
|
+
dest.close
|
57
|
+
end
|
58
|
+
|
59
|
+
puts "\nAdd Ruby versions to your #{muto_root_dir.to_s.gsub(/\//, '\\')}\\ruby_versions.yml"
|
60
|
+
puts "Then add #{muto_root_dir.to_s.gsub(/\//, '\\')} to your Windows PATH environment variable and you're good to go"
|
61
|
+
|
62
|
+
rescue
|
63
|
+
puts $!, $!.backtrace
|
64
|
+
puts "Installation failed"
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
68
|
+
end
|
69
|
+
|
70
|
+
|
71
|
+
if RUBY_PLATFORM =~ /(:?mswin|mingw)/
|
72
|
+
Muto.deploy
|
73
|
+
else
|
74
|
+
puts "Muto will only work properly if extracted using a Windows MRI version of Ruby"
|
75
|
+
puts "mswin or mingw versions should work fine"
|
76
|
+
end
|
77
|
+
|
@@ -0,0 +1,22 @@
|
|
1
|
+
@ECHO OFF
|
2
|
+
|
3
|
+
|
4
|
+
|
5
|
+
C:\ruby\bin\ruby.exe %~dp0\muto.rb %* 2> NUL
|
6
|
+
|
7
|
+
|
8
|
+
:: The following 2 lines allow you to not have to reset your command line in order to pick up
|
9
|
+
:: the new Environment Variables
|
10
|
+
|
11
|
+
reset_command_line.vbs
|
12
|
+
call "%TEMP%\reset_command_line.bat"
|
13
|
+
|
14
|
+
|
15
|
+
|
16
|
+
:: The end of this script just outputs the now current version of Ruby being used by your system
|
17
|
+
:: Using 2> NUL just means that if the ruby/jruby command doesn't exist, the error message won't be output
|
18
|
+
:: to the command line.
|
19
|
+
:: TODO - need to add support for all Ruby executables here
|
20
|
+
|
21
|
+
@ruby -v 2> NUL
|
22
|
+
@jruby -v 2> NUL
|
@@ -0,0 +1,138 @@
|
|
1
|
+
|
2
|
+
begin; require 'rubygems'; rescue; end
|
3
|
+
require 'win32/registry'
|
4
|
+
require 'Win32API'
|
5
|
+
require 'yaml'
|
6
|
+
|
7
|
+
HWND_BROADCAST = 0xffff
|
8
|
+
WM_SETTINGCHANGE = 0x001A
|
9
|
+
SMTO_ABORTIFHUNG = 2
|
10
|
+
|
11
|
+
class Muto
|
12
|
+
|
13
|
+
def initialize
|
14
|
+
@commands = []
|
15
|
+
@ruby_versions = []
|
16
|
+
@all_bin_paths = []
|
17
|
+
|
18
|
+
@versions_yml = YAML.load(IO.read(File.join(File.dirname(__FILE__), 'ruby_versions.yml')))
|
19
|
+
|
20
|
+
if @versions_yml['ruby_versions'].nil?
|
21
|
+
puts "There aren't any version of Ruby defined in your ruby_versions.yml yet"
|
22
|
+
puts "Update #{File.expand_path(File.join(File.dirname(__FILE__), "ruby_versions.yml")).to_s.gsub(/\//, '\\')} first and try again"
|
23
|
+
puts "\nCurrently using:"
|
24
|
+
exit!
|
25
|
+
else
|
26
|
+
|
27
|
+
@versions_yml['ruby_versions'].each do |key, val|
|
28
|
+
@ruby_versions << @versions_yml['ruby_versions'][key]['shortcut'].to_s
|
29
|
+
@all_bin_paths << @versions_yml['ruby_versions'][key]['bin_folder']
|
30
|
+
|
31
|
+
begin
|
32
|
+
exe_name = (@versions_yml['ruby_versions'][key]['exe_name']) ? @versions_yml['ruby_versions'][key]['exe_name'] : 'ruby.exe'
|
33
|
+
ruby_exe = File.expand_path(File.join(@versions_yml['ruby_versions'][key]['bin_folder'], exe_name))
|
34
|
+
ruby_version = `"#{ruby_exe}" -v`
|
35
|
+
|
36
|
+
if File.exist?(ruby_exe)
|
37
|
+
add_version(:"#{@versions_yml['ruby_versions'][key]['shortcut'].to_s}", ruby_version)
|
38
|
+
else
|
39
|
+
puts "File does not exist: #{ruby_exe.to_s}"
|
40
|
+
end
|
41
|
+
|
42
|
+
rescue
|
43
|
+
puts "Error: File does not exist: #{ruby_exe.to_s}"
|
44
|
+
end
|
45
|
+
|
46
|
+
end
|
47
|
+
|
48
|
+
|
49
|
+
end
|
50
|
+
|
51
|
+
end
|
52
|
+
|
53
|
+
def add_version(name, description, hidden=false)
|
54
|
+
@commands << { :name => name, :desc => description, :hidden => hidden }
|
55
|
+
end
|
56
|
+
|
57
|
+
def run
|
58
|
+
if ARGV.empty?
|
59
|
+
help
|
60
|
+
else
|
61
|
+
begin
|
62
|
+
version = ARGV.shift.to_s
|
63
|
+
rescue
|
64
|
+
puts "Unknown Version"
|
65
|
+
help
|
66
|
+
end
|
67
|
+
|
68
|
+
if @ruby_versions.include?(version)
|
69
|
+
@versions_yml['ruby_versions'].each do |key, val|
|
70
|
+
update_user_path_variable(key.to_s) if @versions_yml['ruby_versions'][key]['shortcut'].to_s == version
|
71
|
+
end
|
72
|
+
else
|
73
|
+
puts "Unknown Version"
|
74
|
+
help
|
75
|
+
end
|
76
|
+
end
|
77
|
+
end
|
78
|
+
|
79
|
+
def help
|
80
|
+
puts "\nExpected format: muto [ruby_version]"
|
81
|
+
puts "\nAvailable Versions are:"
|
82
|
+
@commands.each do |command|
|
83
|
+
puts " #{command[:name]} \t - #{command[:desc]}" unless command[:hidden]
|
84
|
+
end
|
85
|
+
|
86
|
+
# The bat file muto.bat will always output the current version of Ruby being
|
87
|
+
# used by your system, so just adding this to make it read nice
|
88
|
+
puts "\nCurrently using:"
|
89
|
+
end
|
90
|
+
|
91
|
+
|
92
|
+
def broadcast_WM_SETTINGCHANGE_signal
|
93
|
+
# After setting a new environment variable, a 'WM_SETTINGCHANGE' signal needs to be broadcast to windows
|
94
|
+
# so that you won't need to log off and log back on again for the new settings to be propagated.
|
95
|
+
# The following uses the Win32API module to send the signal
|
96
|
+
#
|
97
|
+
# For more info read up here: http://msdn.microsoft.com/en-us/library/windows/desktop/ms725497%28v=vs.85%29.aspx
|
98
|
+
#
|
99
|
+
|
100
|
+
call_timeout_function = Win32API.new('user32', 'SendMessageTimeout', 'LLLPLLP', 'L')
|
101
|
+
result = 0
|
102
|
+
call_timeout_function.call(HWND_BROADCAST, WM_SETTINGCHANGE, 0, 'Environment', SMTO_ABORTIFHUNG, 5000, result)
|
103
|
+
|
104
|
+
|
105
|
+
# The muto.bat script will finish up by outputting the current version or Ruby being used on your system
|
106
|
+
# This next line is just sugar
|
107
|
+
puts "\nSystem updated. Now using:"
|
108
|
+
end
|
109
|
+
|
110
|
+
def update_user_path_variable(versions_yml_key)
|
111
|
+
reg_key, path_env_var = Win32::Registry::HKEY_CURRENT_USER.open('Environment').read('PATH')
|
112
|
+
|
113
|
+
#TODO - Fix regex to support all variants of path names
|
114
|
+
@all_bin_paths.each do |bin_path|
|
115
|
+
path_env_var.gsub!(bin_path, @versions_yml['ruby_versions'][versions_yml_key]['bin_folder'].to_s)
|
116
|
+
end
|
117
|
+
|
118
|
+
Win32::Registry::HKEY_CURRENT_USER.open('Environment', Win32::Registry::KEY_WRITE) do |reg|
|
119
|
+
reg['PATH'] = path_env_var
|
120
|
+
end
|
121
|
+
|
122
|
+
if @versions_yml['ruby_versions'][versions_yml_key]['user_env_variables']
|
123
|
+
@versions_yml['ruby_versions'][versions_yml_key]['user_env_variables'].each do |key, val|
|
124
|
+
Win32::Registry::HKEY_CURRENT_USER.open('Environment', Win32::Registry::KEY_WRITE) do |reg|
|
125
|
+
reg[key.upcase] = val
|
126
|
+
end
|
127
|
+
end
|
128
|
+
end
|
129
|
+
|
130
|
+
broadcast_WM_SETTINGCHANGE_signal
|
131
|
+
|
132
|
+
end
|
133
|
+
end
|
134
|
+
|
135
|
+
if __FILE__ == $0
|
136
|
+
s = Muto.new
|
137
|
+
s.run
|
138
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
|
2
|
+
Set oShell = WScript.CreateObject("WScript.Shell")
|
3
|
+
filename = oShell.ExpandEnvironmentStrings("%TEMP%\reset_command_line.bat")
|
4
|
+
Set objFileSystem = CreateObject("Scripting.fileSystemObject")
|
5
|
+
Set oFile = objFileSystem.CreateTextFile(filename, TRUE)
|
6
|
+
|
7
|
+
'Grab System Environment variables'
|
8
|
+
set oEnv=oShell.Environment("System")
|
9
|
+
for each sitem in oEnv
|
10
|
+
oFile.WriteLine("SET " & sitem)
|
11
|
+
next
|
12
|
+
path = oEnv("PATH")
|
13
|
+
|
14
|
+
'Grab User Environment variables'
|
15
|
+
set oEnv=oShell.Environment("User")
|
16
|
+
for each sitem in oEnv
|
17
|
+
oFile.WriteLine("SET " & sitem)
|
18
|
+
next
|
19
|
+
|
20
|
+
'Output to Global PATH variable'
|
21
|
+
path = path & ";" & oEnv("PATH")
|
22
|
+
oFile.WriteLine("SET PATH=" & path)
|
23
|
+
oFile.Close
|
@@ -0,0 +1,19 @@
|
|
1
|
+
ruby_versions:
|
2
|
+
# ruby_186:
|
3
|
+
# shortcut: 186
|
4
|
+
# bin_folder: C:\ruby\bin
|
5
|
+
# ruby_192:
|
6
|
+
# shortcut: 192
|
7
|
+
# bin_folder: C:\ruby192\bin
|
8
|
+
# jruby_164_jre6:
|
9
|
+
# shortcut: jr_j6
|
10
|
+
# bin_folder: C:\jruby-1.6.4\bin
|
11
|
+
# exe_name: jruby.exe
|
12
|
+
# user_env_variables:
|
13
|
+
# java_home: C:\Program Files\Java\jre6
|
14
|
+
# jruby_164_jre7:
|
15
|
+
# shortcut: jr_j7
|
16
|
+
# bin_folder: C:\jruby-1.6.4\bin
|
17
|
+
# exe_name: jruby.exe
|
18
|
+
# user_env_variables:
|
19
|
+
# java_home: C:\Program Files\Java\jre7
|
data/lib/muto/version.rb
ADDED
data/lib/muto.rb
ADDED
data/muto.gemspec
ADDED
@@ -0,0 +1,34 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
$:.push File.expand_path("../lib", __FILE__)
|
3
|
+
require "muto/version"
|
4
|
+
|
5
|
+
Gem::Specification.new do |s|
|
6
|
+
s.name = "muto"
|
7
|
+
s.version = Muto::VERSION
|
8
|
+
s.platform = Gem::Platform::RUBY
|
9
|
+
s.authors = ["Lucas Hills"]
|
10
|
+
s.email = ["lucas@lucashills.com"]
|
11
|
+
s.homepage = 'https://github.com/2potatocakes/muto'
|
12
|
+
s.summary = 'I got sick of manually having to change windows environment variables and versions of ruby in the control panel'
|
13
|
+
s.description = 'Set up different Windows Ruby environments and switch between them on the command line'
|
14
|
+
|
15
|
+
s.files = %w(Rakefile Gemfile README.textile muto.gemspec) + Dir.glob("{bin,lib}/**/*")
|
16
|
+
s.bindir = 'bin'
|
17
|
+
s.executables = %w(extract_muto)
|
18
|
+
s.post_install_message = %q{
|
19
|
+
========================================================================
|
20
|
+
Muto installed!
|
21
|
+
------------------------------------------------------------------------
|
22
|
+
This gem is basically just a wrapper to make deployment easier. Delete
|
23
|
+
the gem after you've deployed the scripts if you want. To extract the
|
24
|
+
scripts, cd into a directory where you'd like to keep them and from the
|
25
|
+
command line run:
|
26
|
+
|
27
|
+
extract_muto
|
28
|
+
|
29
|
+
========================================================================
|
30
|
+
}
|
31
|
+
|
32
|
+
s.require_paths = ['lib']
|
33
|
+
s.extra_rdoc_files = ['README.textile']
|
34
|
+
end
|
metadata
ADDED
@@ -0,0 +1,82 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: muto
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
prerelease:
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- Lucas Hills
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2011-09-24 00:00:00.000000000Z
|
13
|
+
dependencies: []
|
14
|
+
description: Set up different Windows Ruby environments and switch between them on
|
15
|
+
the command line
|
16
|
+
email:
|
17
|
+
- lucas@lucashills.com
|
18
|
+
executables:
|
19
|
+
- extract_muto
|
20
|
+
extensions: []
|
21
|
+
extra_rdoc_files:
|
22
|
+
- README.textile
|
23
|
+
files:
|
24
|
+
- Rakefile
|
25
|
+
- Gemfile
|
26
|
+
- README.textile
|
27
|
+
- muto.gemspec
|
28
|
+
- bin/extract_muto
|
29
|
+
- lib/deploy_scripts/muto.bat
|
30
|
+
- lib/deploy_scripts/muto.rb
|
31
|
+
- lib/deploy_scripts/reset_command_line.vbs
|
32
|
+
- lib/deploy_scripts/ruby_versions.yml
|
33
|
+
- lib/muto/version.rb
|
34
|
+
- lib/muto.rb
|
35
|
+
homepage: https://github.com/2potatocakes/muto
|
36
|
+
licenses: []
|
37
|
+
post_install_message: ! '
|
38
|
+
|
39
|
+
========================================================================
|
40
|
+
|
41
|
+
Muto installed!
|
42
|
+
|
43
|
+
------------------------------------------------------------------------
|
44
|
+
|
45
|
+
This gem is basically just a wrapper to make deployment easier. Delete
|
46
|
+
|
47
|
+
the gem after you''ve deployed the scripts if you want. To extract the
|
48
|
+
|
49
|
+
scripts, cd into a directory where you''d like to keep them and from the
|
50
|
+
|
51
|
+
command line run:
|
52
|
+
|
53
|
+
|
54
|
+
extract_muto
|
55
|
+
|
56
|
+
|
57
|
+
========================================================================
|
58
|
+
|
59
|
+
'
|
60
|
+
rdoc_options: []
|
61
|
+
require_paths:
|
62
|
+
- lib
|
63
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
64
|
+
none: false
|
65
|
+
requirements:
|
66
|
+
- - ! '>='
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
70
|
+
none: false
|
71
|
+
requirements:
|
72
|
+
- - ! '>='
|
73
|
+
- !ruby/object:Gem::Version
|
74
|
+
version: '0'
|
75
|
+
requirements: []
|
76
|
+
rubyforge_project:
|
77
|
+
rubygems_version: 1.8.5
|
78
|
+
signing_key:
|
79
|
+
specification_version: 3
|
80
|
+
summary: I got sick of manually having to change windows environment variables and
|
81
|
+
versions of ruby in the control panel
|
82
|
+
test_files: []
|