salvage 0.1.0
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.
- checksums.yaml +7 -0
- data/bin/salvage.rb +34 -0
- data/lib/salvage/rvm.rb +25 -0
- data/lib/salvage/server.rb +25 -0
- data/lib/salvage/version.rb +5 -0
- data/lib/salvage.rb +4 -0
- metadata +65 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 07d1b7febe57845675c6aca0feecf443fde713bd
|
4
|
+
data.tar.gz: 303d650630008c01dad6046dfefcd1c4d3ece77f
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 86056f2c7d5438c347b47b202a4f1af3c718230a5fc085443ada9aefa268bea4f8250c916042ee2e12c90ce81561d48808587cdbac59f523a99f669ff4851050
|
7
|
+
data.tar.gz: 4933cfe10e0b83169bee66e9350973d844e3a7358b5d1a6628bd79a9ab226acab20e58aa2bdbdc886cbd5856178eb844ea69e0fd29bad869ad2fc5a3408a47fd
|
data/bin/salvage.rb
ADDED
@@ -0,0 +1,34 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require 'salvage/server'
|
4
|
+
|
5
|
+
command = ARGV.first
|
6
|
+
|
7
|
+
def server_command
|
8
|
+
server = Salvage::Server.new(8089)
|
9
|
+
server.run
|
10
|
+
end
|
11
|
+
|
12
|
+
def list_command
|
13
|
+
Salvage::Server.new(8089)
|
14
|
+
|
15
|
+
gem_versions = Hash.new{|h, k| h[k] = [] }
|
16
|
+
Gem::Specification.each do |gem|
|
17
|
+
gem_versions[gem.name] << gem.version
|
18
|
+
end
|
19
|
+
|
20
|
+
gem_versions.sort_by{|name, _| name }.each do |(name, versions)|
|
21
|
+
version_strs = versions.sort.reverse.join(', ')
|
22
|
+
puts "#{name} (#{version_strs})"
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
|
27
|
+
case command
|
28
|
+
when 'server', nil
|
29
|
+
server_command
|
30
|
+
when 'list'
|
31
|
+
list_command
|
32
|
+
else
|
33
|
+
puts "Unknown command #{command.inspect}. Valid commands are: server, list."
|
34
|
+
end
|
data/lib/salvage/rvm.rb
ADDED
@@ -0,0 +1,25 @@
|
|
1
|
+
module Salvage
|
2
|
+
class Rvm
|
3
|
+
def initialize(rvm_path = default_rvm_path)
|
4
|
+
@rvm_path = rvm_path
|
5
|
+
end
|
6
|
+
|
7
|
+
def gem_dirs
|
8
|
+
search_glob = File.join(gems_base, '*', '**', 'specifications')
|
9
|
+
Dir[search_glob].map{|dir| File.dirname(dir) }
|
10
|
+
end
|
11
|
+
|
12
|
+
|
13
|
+
private
|
14
|
+
|
15
|
+
attr_reader :rvm_path
|
16
|
+
|
17
|
+
def gems_base
|
18
|
+
File.join(rvm_path, 'gems')
|
19
|
+
end
|
20
|
+
|
21
|
+
def default_rvm_path
|
22
|
+
ENV['rvm_path']
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
require 'rubygems/server'
|
2
|
+
require 'salvage/rvm'
|
3
|
+
|
4
|
+
module Salvage
|
5
|
+
class Server
|
6
|
+
|
7
|
+
def initialize(port)
|
8
|
+
@server = Gem::Server.new rvm.gem_dirs, port, false
|
9
|
+
end
|
10
|
+
|
11
|
+
def run
|
12
|
+
server.run
|
13
|
+
end
|
14
|
+
|
15
|
+
|
16
|
+
private
|
17
|
+
|
18
|
+
attr_accessor :server
|
19
|
+
|
20
|
+
def rvm
|
21
|
+
@rvm ||= Salvage::Rvm.new
|
22
|
+
end
|
23
|
+
|
24
|
+
end
|
25
|
+
end
|
data/lib/salvage.rb
ADDED
metadata
ADDED
@@ -0,0 +1,65 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: salvage
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Pablo Brasero
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2014-09-05 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: rake
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
27
|
+
description: Run a Rubygems server that provides gems installed in any RVM environment
|
28
|
+
in the machine
|
29
|
+
email: pablo@pablobm.com
|
30
|
+
executables:
|
31
|
+
- salvage.rb
|
32
|
+
extensions: []
|
33
|
+
extra_rdoc_files: []
|
34
|
+
files:
|
35
|
+
- bin/salvage.rb
|
36
|
+
- lib/salvage.rb
|
37
|
+
- lib/salvage/rvm.rb
|
38
|
+
- lib/salvage/server.rb
|
39
|
+
- lib/salvage/version.rb
|
40
|
+
homepage: https://rubygems.org/gems/salvage
|
41
|
+
licenses:
|
42
|
+
- MIT
|
43
|
+
metadata: {}
|
44
|
+
post_install_message:
|
45
|
+
rdoc_options: []
|
46
|
+
require_paths:
|
47
|
+
- lib
|
48
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
49
|
+
requirements:
|
50
|
+
- - ">="
|
51
|
+
- !ruby/object:Gem::Version
|
52
|
+
version: '0'
|
53
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
54
|
+
requirements:
|
55
|
+
- - ">="
|
56
|
+
- !ruby/object:Gem::Version
|
57
|
+
version: '0'
|
58
|
+
requirements: []
|
59
|
+
rubyforge_project:
|
60
|
+
rubygems_version: 2.2.2
|
61
|
+
signing_key:
|
62
|
+
specification_version: 4
|
63
|
+
summary: Make available gems installed in any of your Ruby environments
|
64
|
+
test_files: []
|
65
|
+
has_rdoc:
|