salvage 0.1.0 → 0.2.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 07d1b7febe57845675c6aca0feecf443fde713bd
4
- data.tar.gz: 303d650630008c01dad6046dfefcd1c4d3ece77f
3
+ metadata.gz: 6f7c539b003da3e68ae758185a7fd867cd252f63
4
+ data.tar.gz: 7834bbdfe08146aff1bc663b7b64ee9305149c2b
5
5
  SHA512:
6
- metadata.gz: 86056f2c7d5438c347b47b202a4f1af3c718230a5fc085443ada9aefa268bea4f8250c916042ee2e12c90ce81561d48808587cdbac59f523a99f669ff4851050
7
- data.tar.gz: 4933cfe10e0b83169bee66e9350973d844e3a7358b5d1a6628bd79a9ab226acab20e58aa2bdbdc886cbd5856178eb844ea69e0fd29bad869ad2fc5a3408a47fd
6
+ metadata.gz: a19c1302f53fad638404857a5204d5d1b240b6684b7cd6e3132bdbacba299d1eb0300bc4cd029f3f6d569aec68599efd41ba8df949006cf320cb37052b9637fd
7
+ data.tar.gz: 394d1470444afd5ef1217a143cfa780a0c77b4e58f76421a5af1f30cbd49bace34be8a35e0cb43c9f51d2c9d0db958ca1d865d19963e4734793f5e37b947cb56
@@ -0,0 +1,19 @@
1
+ module Salvage
2
+ class GemFinder
3
+
4
+ def initialize(base_path)
5
+ @base_path = base_path
6
+ end
7
+
8
+ def gem_dirs
9
+ search_glob = File.join(base_path, '*', '**', 'specifications')
10
+ Dir[search_glob].map{|dir| File.dirname(dir) }
11
+ end
12
+
13
+
14
+ private
15
+
16
+ attr_reader :base_path
17
+
18
+ end
19
+ end
@@ -0,0 +1,23 @@
1
+ require 'salvage/gem_finder'
2
+ require 'salvage/utils'
3
+
4
+ module Salvage
5
+ class Rbenv
6
+
7
+ def initialize(rbenv_path = default_rbenv_path)
8
+ @finder = Salvage::GemFinder.new(rbenv_path)
9
+ end
10
+
11
+ def gem_dirs
12
+ @finder.gem_dirs
13
+ end
14
+
15
+
16
+ private
17
+
18
+ def default_rbenv_path
19
+ ENV['RBENV_ROOT'] || Salvage::Utils.home_dir('.rbenv')
20
+ end
21
+
22
+ end
23
+ end
data/lib/salvage/rvm.rb CHANGED
@@ -1,16 +1,20 @@
1
+ require 'salvage/gem_finder'
2
+ require 'salvage/utils'
3
+
1
4
  module Salvage
2
5
  class Rvm
6
+
3
7
  def initialize(rvm_path = default_rvm_path)
4
8
  @rvm_path = rvm_path
9
+ @finder = Salvage::GemFinder.new(gems_base)
5
10
  end
6
11
 
7
12
  def gem_dirs
8
- search_glob = File.join(gems_base, '*', '**', 'specifications')
9
- Dir[search_glob].map{|dir| File.dirname(dir) }
13
+ @finder.gem_dirs
10
14
  end
11
15
 
12
16
 
13
- private
17
+ private
14
18
 
15
19
  attr_reader :rvm_path
16
20
 
@@ -19,7 +23,8 @@ module Salvage
19
23
  end
20
24
 
21
25
  def default_rvm_path
22
- ENV['rvm_path']
26
+ ENV['rvm_path'] || Salvage::Utils.home_dir('.rvm')
23
27
  end
28
+
24
29
  end
25
30
  end
@@ -1,11 +1,12 @@
1
1
  require 'rubygems/server'
2
2
  require 'salvage/rvm'
3
+ require 'salvage/rbenv'
3
4
 
4
5
  module Salvage
5
6
  class Server
6
7
 
7
8
  def initialize(port)
8
- @server = Gem::Server.new rvm.gem_dirs, port, false
9
+ @server = Gem::Server.new(gem_dirs, port, false)
9
10
  end
10
11
 
11
12
  def run
@@ -17,9 +18,17 @@ module Salvage
17
18
 
18
19
  attr_accessor :server
19
20
 
21
+ def gem_dirs
22
+ rvm.gem_dirs + rbenv.gem_dirs
23
+ end
24
+
20
25
  def rvm
21
26
  @rvm ||= Salvage::Rvm.new
22
27
  end
23
28
 
29
+ def rbenv
30
+ @rbenv ||= Salvage::Rbenv.new
31
+ end
32
+
24
33
  end
25
34
  end
@@ -0,0 +1,9 @@
1
+ module Salvage
2
+ class Utils
3
+
4
+ def self.home_dir(relpath)
5
+ File.join(Dir.home(Etc.getpwuid.name), relpath)
6
+ end
7
+
8
+ end
9
+ end
@@ -1,5 +1,5 @@
1
1
  module Salvage
2
2
  module Version
3
- STRING = '0.1.0'
3
+ STRING = '0.2.0'
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: salvage
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pablo Brasero
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-09-05 00:00:00.000000000 Z
11
+ date: 2014-09-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -24,7 +24,7 @@ dependencies:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
- description: Run a Rubygems server that provides gems installed in any RVM environment
27
+ description: Run a Rubygems server that provides gems installed in any RVM/rbenv environment
28
28
  in the machine
29
29
  email: pablo@pablobm.com
30
30
  executables:
@@ -34,8 +34,11 @@ extra_rdoc_files: []
34
34
  files:
35
35
  - bin/salvage.rb
36
36
  - lib/salvage.rb
37
+ - lib/salvage/gem_finder.rb
38
+ - lib/salvage/rbenv.rb
37
39
  - lib/salvage/rvm.rb
38
40
  - lib/salvage/server.rb
41
+ - lib/salvage/utils.rb
39
42
  - lib/salvage/version.rb
40
43
  homepage: https://rubygems.org/gems/salvage
41
44
  licenses:
@@ -62,4 +65,3 @@ signing_key:
62
65
  specification_version: 4
63
66
  summary: Make available gems installed in any of your Ruby environments
64
67
  test_files: []
65
- has_rdoc: