gemstash 2.1.0 → 2.2.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +57 -0
- data/lib/gemstash/cache.rb +37 -0
- data/lib/gemstash/cli/authorize.rb +2 -2
- data/lib/gemstash/cli/setup.rb +11 -3
- data/lib/gemstash/configuration.rb +1 -1
- data/lib/gemstash/dependencies.rb +2 -2
- data/lib/gemstash/env.rb +2 -0
- data/lib/gemstash/gem_fetcher.rb +2 -2
- data/lib/gemstash/gem_pusher.rb +2 -2
- data/lib/gemstash/gem_source/private_source.rb +3 -3
- data/lib/gemstash/gem_source.rb +2 -2
- data/lib/gemstash/http_client.rb +8 -3
- data/lib/gemstash/logging.rb +1 -1
- data/lib/gemstash/man/gemstash-authorize.1 +36 -21
- data/lib/gemstash/man/gemstash-authorize.1.txt +21 -19
- data/lib/gemstash/man/gemstash-configuration.5 +118 -106
- data/lib/gemstash/man/gemstash-configuration.5.txt +105 -103
- data/lib/gemstash/man/gemstash-customize.7 +83 -68
- data/lib/gemstash/man/gemstash-customize.7.txt +63 -62
- data/lib/gemstash/man/gemstash-debugging.7 +24 -9
- data/lib/gemstash/man/gemstash-debugging.7.txt +11 -9
- data/lib/gemstash/man/gemstash-deploy.7 +30 -15
- data/lib/gemstash/man/gemstash-deploy.7.txt +18 -16
- data/lib/gemstash/man/gemstash-mirror.7 +25 -10
- data/lib/gemstash/man/gemstash-mirror.7.txt +9 -7
- data/lib/gemstash/man/gemstash-multiple-sources.7 +34 -20
- data/lib/gemstash/man/gemstash-multiple-sources.7.txt +30 -29
- data/lib/gemstash/man/gemstash-private-gems.7 +55 -40
- data/lib/gemstash/man/gemstash-private-gems.7.txt +40 -38
- data/lib/gemstash/man/gemstash-readme.7 +61 -49
- data/lib/gemstash/man/gemstash-readme.7.txt +58 -58
- data/lib/gemstash/man/gemstash-setup.1 +36 -21
- data/lib/gemstash/man/gemstash-setup.1.txt +19 -17
- data/lib/gemstash/man/gemstash-start.1 +29 -14
- data/lib/gemstash/man/gemstash-start.1.txt +14 -12
- data/lib/gemstash/man/gemstash-status.1 +27 -12
- data/lib/gemstash/man/gemstash-status.1.txt +12 -10
- data/lib/gemstash/man/gemstash-stop.1 +27 -12
- data/lib/gemstash/man/gemstash-stop.1.txt +12 -10
- data/lib/gemstash/man/gemstash-version.1 +25 -10
- data/lib/gemstash/man/gemstash-version.1.txt +7 -5
- data/lib/gemstash/storage.rb +5 -4
- data/lib/gemstash/upstream.rb +6 -5
- data/lib/gemstash/version.rb +2 -2
- data/lib/gemstash/web.rb +6 -4
- data/lib/gemstash.rb +1 -1
- metadata +31 -157
@@ -1,11 +1,26 @@
|
|
1
|
-
|
1
|
+
<!-- Automatically generated by Pandoc -->
|
2
|
+
.\" Automatically generated by Pandoc 3.0.1
|
2
3
|
.\"
|
3
|
-
|
4
|
+
.\" Define V font for inline verbatim, using C font in formats
|
5
|
+
.\" that render this, and otherwise B font.
|
6
|
+
.ie "\f[CB]x\f[]"x" \{\
|
7
|
+
. ftr V B
|
8
|
+
. ftr VI BI
|
9
|
+
. ftr VB B
|
10
|
+
. ftr VBI BI
|
11
|
+
.\}
|
12
|
+
.el \{\
|
13
|
+
. ftr V CR
|
14
|
+
. ftr VI CI
|
15
|
+
. ftr VB CB
|
16
|
+
. ftr VBI CBI
|
17
|
+
.\}
|
18
|
+
.TH "gemstash-deploy" "7" "October 25, 2015" "" ""
|
4
19
|
.hy
|
5
|
-
.SH
|
20
|
+
.SH Deploying Gemstash
|
6
21
|
.PP
|
7
|
-
Bundler is here for the rescue to keep Gemstash up to date!
|
8
|
-
\f[
|
22
|
+
Bundler is here for the rescue to keep Gemstash up to date!
|
23
|
+
Create a \f[V]Gemfile\f[R] pointing to Gemstash:
|
9
24
|
.IP
|
10
25
|
.nf
|
11
26
|
\f[C]
|
@@ -15,11 +30,11 @@ gem \[dq]gemstash\[dq]
|
|
15
30
|
\f[R]
|
16
31
|
.fi
|
17
32
|
.PP
|
18
|
-
Then \f[
|
19
|
-
When you are ready to upgrade, simply \f[
|
20
|
-
You may need to run \f[
|
21
|
-
Alternatively, you can \f[
|
22
|
-
\f[
|
33
|
+
Then \f[V]bundle\f[R] to create your \f[V]Gemfile.lock\f[R].
|
34
|
+
When you are ready to upgrade, simply \f[V]bundle update\f[R].
|
35
|
+
You may need to run \f[V]gemstash\f[R] via \f[V]bundle exec\f[R].
|
36
|
+
Alternatively, you can \f[V]gem uninstall gemstash\f[R] and
|
37
|
+
\f[V]gem install gemstash\f[R] when you want to upgrade.
|
23
38
|
.PP
|
24
39
|
Gemstash will automatically run any necessary migrations, so updating
|
25
40
|
the gem is all that needs to be done.
|
@@ -34,12 +49,12 @@ $ bundle update
|
|
34
49
|
$ bundle exec gemstash start
|
35
50
|
\f[R]
|
36
51
|
.fi
|
37
|
-
.SS
|
52
|
+
.SS Monitoring
|
38
53
|
.PP
|
39
54
|
Health monitoring is built in to Gemstash using the
|
40
|
-
server_health_check
|
55
|
+
server_health_check-rack (https://github.com/on-site/server_health_check-rack)
|
41
56
|
gem.
|
42
|
-
If you request \f[
|
57
|
+
If you request \f[V]/health\f[R] from your Gemstash instance, you will
|
43
58
|
get a JSON response along with an HTTP status code indicating success or
|
44
59
|
failure.
|
45
60
|
The JSON response will look something like this for a success case:
|
@@ -63,10 +78,10 @@ result.
|
|
63
78
|
Each key in the status can be requested alone to just report on that
|
64
79
|
status.
|
65
80
|
For example, if you would like a health check that doesn\[cq]t interact
|
66
|
-
with storage or the database, you can use \f[
|
81
|
+
with storage or the database, you can use \f[V]/health/heartbeat\f[R]
|
67
82
|
which will always respond with a success while your Gemstash server is
|
68
83
|
running.
|
69
|
-
.SS
|
84
|
+
.SS Downgrading
|
70
85
|
.PP
|
71
86
|
It is not recommended to go backwards in Gemstash versions.
|
72
87
|
Migrations may have run that could leave the database in a bad state.
|
@@ -2,20 +2,22 @@ gemstash-deploy(7) gemstash-deploy(7)
|
|
2
2
|
|
3
3
|
|
4
4
|
|
5
|
-
|
6
|
-
|
7
|
-
|
5
|
+
<!-- Automatically generated by Pandoc -->
|
6
|
+
|
7
|
+
1mDeploying Gemstash0m
|
8
|
+
Bundler is here for the rescue to keep Gemstash up to date! Create a
|
9
|
+
1mGemfile 22mpointing to Gemstash:
|
8
10
|
|
9
11
|
# ./Gemfile
|
10
12
|
source "https://rubygems.org"
|
11
13
|
gem "gemstash"
|
12
14
|
|
13
|
-
Then
|
14
|
-
grade, simply
|
15
|
-
|
16
|
-
|
15
|
+
Then 1mbundle 22mto create your 1mGemfile.lock22m. When you are ready to up-
|
16
|
+
grade, simply 1mbundle update22m. You may need to run 1mgemstash 22mvia 1mbundle0m
|
17
|
+
1mexec22m. Alternatively, you can 1mgem uninstall gemstash 22mand 1mgem install0m
|
18
|
+
1mgemstash 22mwhen you want to upgrade.
|
17
19
|
|
18
|
-
Gemstash
|
20
|
+
Gemstash will automatically run any necessary migrations, so updating
|
19
21
|
the gem is all that needs to be done.
|
20
22
|
|
21
23
|
It is probably wise to stop Gemstash before upgrading, then starting
|
@@ -25,12 +27,12 @@ gemstash-deploy(7) gemstash-deploy(7)
|
|
25
27
|
$ bundle update
|
26
28
|
$ bundle exec gemstash start
|
27
29
|
|
28
|
-
|
29
|
-
Health monitoring is
|
30
|
+
1mMonitoring0m
|
31
|
+
Health monitoring is built in to Gemstash using the serv-
|
30
32
|
er_health_check-rack (https://github.com/on-site/server_health_check-
|
31
|
-
rack) gem. If
|
33
|
+
rack) gem. If you request 1m/health 22mfrom your Gemstash instance, you
|
32
34
|
will get a JSON response along with an HTTP status code indicating suc-
|
33
|
-
cess or failure.
|
35
|
+
cess or failure. The JSON response will look something like this for a
|
34
36
|
success case:
|
35
37
|
|
36
38
|
{
|
@@ -46,14 +48,14 @@ gemstash-deploy(7) gemstash-deploy(7)
|
|
46
48
|
This request will test storage and database access and report on the
|
47
49
|
result. Each key in the status can be requested alone to just report
|
48
50
|
on that status. For example, if you would like a health check that
|
49
|
-
doesn't interact with storage or
|
50
|
-
/health/heartbeat
|
51
|
+
doesn't interact with storage or the database, you can use
|
52
|
+
1m/health/heartbeat 22mwhich will always respond with a success while your
|
51
53
|
Gemstash server is running.
|
52
54
|
|
53
|
-
|
55
|
+
1mDowngrading0m
|
54
56
|
It is not recommended to go backwards in Gemstash versions. Migrations
|
55
57
|
may have run that could leave the database in a bad state.
|
56
58
|
|
57
59
|
|
58
60
|
|
59
|
-
October 25, 2015
|
61
|
+
October 25, 2015 gemstash-deploy(7)
|
@@ -1,38 +1,53 @@
|
|
1
|
-
|
1
|
+
<!-- Automatically generated by Pandoc -->
|
2
|
+
.\" Automatically generated by Pandoc 3.0.1
|
2
3
|
.\"
|
3
|
-
|
4
|
+
.\" Define V font for inline verbatim, using C font in formats
|
5
|
+
.\" that render this, and otherwise B font.
|
6
|
+
.ie "\f[CB]x\f[]"x" \{\
|
7
|
+
. ftr V B
|
8
|
+
. ftr VI BI
|
9
|
+
. ftr VB B
|
10
|
+
. ftr VBI BI
|
11
|
+
.\}
|
12
|
+
.el \{\
|
13
|
+
. ftr V CR
|
14
|
+
. ftr VI CI
|
15
|
+
. ftr VB CB
|
16
|
+
. ftr VBI CBI
|
17
|
+
.\}
|
18
|
+
.TH "gemstash-mirror" "7" "October 25, 2015" "" ""
|
4
19
|
.hy
|
5
|
-
.SH
|
20
|
+
.SH Using Gemstash as a Mirror
|
6
21
|
.PP
|
7
|
-
If you don\[cq]t have control over your \f[
|
22
|
+
If you don\[cq]t have control over your \f[V]Gemfile\f[R], or you
|
8
23
|
don\[cq]t want to force everyone on your team to go through the Gemstash
|
9
24
|
server, you can use Bundler mirroring to bundle against your Gemstash
|
10
25
|
server.
|
11
26
|
.PP
|
12
|
-
For each source in your \f[
|
27
|
+
For each source in your \f[V]Gemfile\f[R], add a mirror pointing to your
|
13
28
|
Gemstash server:
|
14
29
|
.IP
|
15
30
|
.nf
|
16
31
|
\f[C]
|
17
32
|
$ bundle config mirror.http://rubygems.org http://localhost:9292
|
18
|
-
$ bundle config mirror.https://my.gem
|
33
|
+
$ bundle config mirror.https://my.gem-source.local http://localhost:9292/upstream/$(ruby -rcgi -e \[aq]puts CGI.escape(\[dq]https://my.gem-source.local\[dq])\[aq])
|
19
34
|
\f[R]
|
20
35
|
.fi
|
21
36
|
.PP
|
22
37
|
From now on, bundler will fetch gems from those sources via your
|
23
38
|
Gemstash server.
|
24
|
-
.SH
|
39
|
+
.SH Simpler Gemstash Mirrors
|
25
40
|
.PP
|
26
41
|
\f[B]This feature requires Bundler to be at least version
|
27
|
-
\f[
|
42
|
+
\f[VB]1.11.0\f[B].\f[R]
|
28
43
|
.PP
|
29
|
-
If you are using Bundler version \f[
|
44
|
+
If you are using Bundler version \f[V]1.11.0\f[R] or greater, the
|
30
45
|
mirroring becomes a bit easier:
|
31
46
|
.IP
|
32
47
|
.nf
|
33
48
|
\f[C]
|
34
49
|
$ bundle config mirror.http://rubygems.org http://localhost:9292
|
35
|
-
$ bundle config mirror.https://my.gem
|
50
|
+
$ bundle config mirror.https://my.gem-source.local http://localhost:9292
|
36
51
|
\f[R]
|
37
52
|
.fi
|
38
53
|
.PP
|
@@ -2,12 +2,14 @@ gemstash-mirror(7) gemstash-mirror(7)
|
|
2
2
|
|
3
3
|
|
4
4
|
|
5
|
-
|
6
|
-
|
7
|
-
|
5
|
+
<!-- Automatically generated by Pandoc -->
|
6
|
+
|
7
|
+
1mUsing Gemstash as a Mirror0m
|
8
|
+
If you don't have control over your 1mGemfile22m, or you don't want to force
|
9
|
+
everyone on your team to go through the Gemstash server, you can use
|
8
10
|
Bundler mirroring to bundle against your Gemstash server.
|
9
11
|
|
10
|
-
For each source in your
|
12
|
+
For each source in your 1mGemfile22m, add a mirror pointing to your Gemstash
|
11
13
|
server:
|
12
14
|
|
13
15
|
$ bundle config mirror.http://rubygems.org http://localhost:9292
|
@@ -16,10 +18,10 @@ gemstash-mirror(7) gemstash-mirror(7)
|
|
16
18
|
From now on, bundler will fetch gems from those sources via your Gem-
|
17
19
|
stash server.
|
18
20
|
|
19
|
-
|
21
|
+
1mSimpler Gemstash Mirrors0m
|
20
22
|
1mThis feature requires Bundler to be at least version 1.11.0.0m
|
21
23
|
|
22
|
-
If you are using Bundler version
|
24
|
+
If you are using Bundler version 1m1.11.0 22mor greater, the mirroring be-
|
23
25
|
comes a bit easier:
|
24
26
|
|
25
27
|
$ bundle config mirror.http://rubygems.org http://localhost:9292
|
@@ -30,4 +32,4 @@ gemstash-mirror(7) gemstash-mirror(7)
|
|
30
32
|
|
31
33
|
|
32
34
|
|
33
|
-
October 25, 2015
|
35
|
+
October 25, 2015 gemstash-mirror(7)
|
@@ -1,26 +1,40 @@
|
|
1
|
-
|
1
|
+
<!-- Automatically generated by Pandoc -->
|
2
|
+
.\" Automatically generated by Pandoc 3.0.1
|
2
3
|
.\"
|
3
|
-
|
4
|
+
.\" Define V font for inline verbatim, using C font in formats
|
5
|
+
.\" that render this, and otherwise B font.
|
6
|
+
.ie "\f[CB]x\f[]"x" \{\
|
7
|
+
. ftr V B
|
8
|
+
. ftr VI BI
|
9
|
+
. ftr VB B
|
10
|
+
. ftr VBI BI
|
11
|
+
.\}
|
12
|
+
.el \{\
|
13
|
+
. ftr V CR
|
14
|
+
. ftr VI CI
|
15
|
+
. ftr VB CB
|
16
|
+
. ftr VBI CBI
|
17
|
+
.\}
|
18
|
+
.TH "gemstash-multiple-sources" "7" "October 8, 2015" "" ""
|
4
19
|
.hy
|
5
|
-
.SH
|
20
|
+
.SH Multiple Gem Sources
|
6
21
|
.PP
|
7
22
|
Gemstash will stash from any amount of gem sources.
|
8
23
|
By the end of this guide, you will be able to bundle using multiple gem
|
9
24
|
sources, all stashed within your Gemstash server.
|
10
|
-
.SS
|
25
|
+
.SS Default Source
|
11
26
|
.PP
|
12
27
|
When you don\[cq]t provide an explicit source (as with the Quickstart
|
13
|
-
Guide
|
14
|
-
https://rubygems.org.
|
28
|
+
Guide), your gems will be fetched from https://rubygems.org.
|
15
29
|
This default source is not set in stone.
|
16
30
|
To change it, you need only edit the Gemstash configuration found at
|
17
|
-
\f[
|
31
|
+
\f[V]\[ti]/.gemstash/config.yml\f[R]:
|
18
32
|
.IP
|
19
33
|
.nf
|
20
34
|
\f[C]
|
21
35
|
# \[ti]/.gemstash/config.yml
|
22
|
-
|
23
|
-
:rubygems_url: https://my.gem
|
36
|
+
---
|
37
|
+
:rubygems_url: https://my.gem-source.local
|
24
38
|
\f[R]
|
25
39
|
.fi
|
26
40
|
.PP
|
@@ -33,12 +47,12 @@ $ gemstash start
|
|
33
47
|
\f[R]
|
34
48
|
.fi
|
35
49
|
.PP
|
36
|
-
Once restarted, bundling against \f[
|
37
|
-
fetch gems from \f[
|
50
|
+
Once restarted, bundling against \f[V]http://localhost:9292\f[R] will
|
51
|
+
fetch gems from \f[V]https://my.gem-source.local\f[R].
|
38
52
|
If you had bundled before making these changes, fear not; bundling with
|
39
53
|
a different default gem source will store gems in a separate location,
|
40
54
|
ensuring different sources won\[cq]t leak between each other.
|
41
|
-
.SS
|
55
|
+
.SS Bundling with Multiple Sources
|
42
56
|
.PP
|
43
57
|
Changing the default source won\[cq]t help you if you need to bundle
|
44
58
|
against https://rubygems.org along with additional sources.
|
@@ -46,7 +60,7 @@ If you need to bundle with multiple gem sources, Gemstash doesn\[cq]t
|
|
46
60
|
need to be specially configured.
|
47
61
|
Your Gemstash server will honor any gem source specified via a
|
48
62
|
specialized URL.
|
49
|
-
Consider the following \f[
|
63
|
+
Consider the following \f[V]Gemfile\f[R]:
|
50
64
|
.IP
|
51
65
|
.nf
|
52
66
|
\f[C]
|
@@ -55,23 +69,23 @@ require \[dq]cgi\[dq]
|
|
55
69
|
source \[dq]http://localhost:9292\[dq]
|
56
70
|
gem \[dq]rubywarrior\[dq]
|
57
71
|
|
58
|
-
source \[dq]http://localhost:9292/upstream/#{CGI.escape(\[dq]https://my.gem
|
59
|
-
gem \[dq]my
|
72
|
+
source \[dq]http://localhost:9292/upstream/#{CGI.escape(\[dq]https://my.gem-source.local\[dq])}\[dq] do
|
73
|
+
gem \[dq]my-gem\[dq]
|
60
74
|
end
|
61
75
|
\f[R]
|
62
76
|
.fi
|
63
77
|
.PP
|
64
|
-
Notice the \f[
|
78
|
+
Notice the \f[V]CGI.escape\f[R] call in the second source.
|
65
79
|
This is important, as it properly URL escapes the source URL so Gemstash
|
66
80
|
knows what gem source you want.
|
67
|
-
The \f[
|
81
|
+
The \f[V]/upstream\f[R] prefix tells Gemstash to use a gem source other
|
68
82
|
than the default source.
|
69
83
|
You can now bundle with the additional source.
|
70
|
-
.SS
|
84
|
+
.SS Redirecting
|
71
85
|
.PP
|
72
86
|
Gemstash supports an alternate mode of specifying your gem sources.
|
73
87
|
If you want Gemstash to redirect Bundler to your given gem sources, then
|
74
|
-
you can specify your \f[
|
88
|
+
you can specify your \f[V]Gemfile\f[R] like so:
|
75
89
|
.IP
|
76
90
|
.nf
|
77
91
|
\f[C]
|
@@ -82,7 +96,7 @@ gem \[dq]rubywarrior\[dq]
|
|
82
96
|
\f[R]
|
83
97
|
.fi
|
84
98
|
.PP
|
85
|
-
Notice the \f[
|
99
|
+
Notice the \f[V]/redirect\f[R] prefix.
|
86
100
|
This prefix tells Gemstash to redirect API calls to the provided URL.
|
87
101
|
Redirected calls like this will not be cached by Gemstash, and gem files
|
88
102
|
will not be stashed, even if they were previously cached or stashed from
|
@@ -2,17 +2,18 @@ gemstash-multiple-sources(7) gemstash-multiple-sources(7)
|
|
2
2
|
|
3
3
|
|
4
4
|
|
5
|
-
|
5
|
+
<!-- Automatically generated by Pandoc -->
|
6
|
+
|
7
|
+
1mMultiple Gem Sources0m
|
6
8
|
Gemstash will stash from any amount of gem sources. By the end of this
|
7
|
-
guide, you will be able to bundle using multiple gem
|
9
|
+
guide, you will be able to bundle using multiple gem sources, all
|
8
10
|
stashed within your Gemstash server.
|
9
11
|
|
10
|
-
|
11
|
-
When
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
~/.gemstash/config.yml:
|
12
|
+
1mDefault Source0m
|
13
|
+
When you don't provide an explicit source (as with the Quickstart
|
14
|
+
Guide), your gems will be fetched from https://rubygems.org. This de-
|
15
|
+
fault source is not set in stone. To change it, you need only edit the
|
16
|
+
Gemstash configuration found at 1m~/.gemstash/config.yml22m:
|
16
17
|
|
17
18
|
# ~/.gemstash/config.yml
|
18
19
|
---
|
@@ -23,18 +24,18 @@ gemstash-multiple-sources(7) gemstash-multiple-sources(7)
|
|
23
24
|
$ gemstash stop
|
24
25
|
$ gemstash start
|
25
26
|
|
26
|
-
Once
|
27
|
-
from
|
28
|
-
these
|
29
|
-
will
|
27
|
+
Once restarted, bundling against 1mhttp://localhost:9292 22mwill fetch gems
|
28
|
+
from 1mhttps://my.gem-source.local22m. If you had bundled before making
|
29
|
+
these changes, fear not; bundling with a different default gem source
|
30
|
+
will store gems in a separate location, ensuring different sources
|
30
31
|
won't leak between each other.
|
31
32
|
|
32
|
-
|
33
|
-
Changing
|
34
|
-
against
|
35
|
-
need
|
36
|
-
specially
|
37
|
-
specified via a specialized URL.
|
33
|
+
1mBundling with Multiple Sources0m
|
34
|
+
Changing the default source won't help you if you need to bundle
|
35
|
+
against https://rubygems.org along with additional sources. If you
|
36
|
+
need to bundle with multiple gem sources, Gemstash doesn't need to be
|
37
|
+
specially configured. Your Gemstash server will honor any gem source
|
38
|
+
specified via a specialized URL. Consider the following 1mGemfile22m:
|
38
39
|
|
39
40
|
# ./Gemfile
|
40
41
|
require "cgi"
|
@@ -45,27 +46,27 @@ gemstash-multiple-sources(7) gemstash-multiple-sources(7)
|
|
45
46
|
gem "my-gem"
|
46
47
|
end
|
47
48
|
|
48
|
-
Notice the
|
49
|
-
it
|
50
|
-
source
|
51
|
-
source
|
49
|
+
Notice the 1mCGI.escape 22mcall in the second source. This is important, as
|
50
|
+
it properly URL escapes the source URL so Gemstash knows what gem
|
51
|
+
source you want. The 1m/upstream 22mprefix tells Gemstash to use a gem
|
52
|
+
source other than the default source. You can now bundle with the ad-
|
52
53
|
ditional source.
|
53
54
|
|
54
|
-
|
55
|
+
1mRedirecting0m
|
55
56
|
Gemstash supports an alternate mode of specifying your gem sources. If
|
56
|
-
you
|
57
|
-
you can specify your
|
57
|
+
you want Gemstash to redirect Bundler to your given gem sources, then
|
58
|
+
you can specify your 1mGemfile 22mlike so:
|
58
59
|
|
59
60
|
# ./Gemfile
|
60
61
|
require "cgi"
|
61
62
|
source "http://localhost:9292/redirect/#{CGI.escape("https://rubygems.org")}"
|
62
63
|
gem "rubywarrior"
|
63
64
|
|
64
|
-
Notice
|
65
|
-
API
|
66
|
-
cached
|
65
|
+
Notice the 1m/redirect 22mprefix. This prefix tells Gemstash to redirect
|
66
|
+
API calls to the provided URL. Redirected calls like this will not be
|
67
|
+
cached by Gemstash, and gem files will not be stashed, even if they
|
67
68
|
were previously cached or stashed from the same gem source.
|
68
69
|
|
69
70
|
|
70
71
|
|
71
|
-
October 8, 2015
|
72
|
+
October 8, 2015 gemstash-multiple-sources(7)
|