gemstash 1.0.0.pre.1-java → 2.6.0-java

Sign up to get free protection for your applications and to get access to all the features.
Files changed (99) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +303 -0
  3. data/exe/gemstash +3 -0
  4. data/lib/gemstash/api_key_authorization.rb +32 -0
  5. data/lib/gemstash/authorization.rb +15 -8
  6. data/lib/gemstash/cache.rb +42 -2
  7. data/lib/gemstash/cli/authorize.rb +52 -9
  8. data/lib/gemstash/cli/base.rb +14 -6
  9. data/lib/gemstash/cli/setup.rb +67 -39
  10. data/lib/gemstash/cli/start.rb +6 -2
  11. data/lib/gemstash/cli/status.rb +3 -1
  12. data/lib/gemstash/cli/stop.rb +4 -1
  13. data/lib/gemstash/cli.rb +59 -1
  14. data/lib/gemstash/config.ru +4 -3
  15. data/lib/gemstash/configuration.rb +61 -8
  16. data/lib/gemstash/db/authorization.rb +5 -3
  17. data/lib/gemstash/db/cached_rubygem.rb +20 -0
  18. data/lib/gemstash/db/dependency.rb +2 -0
  19. data/lib/gemstash/db/rubygem.rb +3 -0
  20. data/lib/gemstash/db/upstream.rb +15 -0
  21. data/lib/gemstash/db/version.rb +25 -2
  22. data/lib/gemstash/db.rb +5 -0
  23. data/lib/gemstash/dependencies.rb +6 -2
  24. data/lib/gemstash/env.rb +44 -13
  25. data/lib/gemstash/gem_fetcher.rb +5 -3
  26. data/lib/gemstash/gem_pusher.rb +25 -18
  27. data/lib/gemstash/gem_source/dependency_caching.rb +4 -4
  28. data/lib/gemstash/gem_source/private_source.rb +34 -50
  29. data/lib/gemstash/gem_source/rack_middleware.rb +3 -0
  30. data/lib/gemstash/gem_source/upstream_source.rb +71 -27
  31. data/lib/gemstash/gem_source.rb +4 -2
  32. data/lib/gemstash/gem_yanker.rb +14 -4
  33. data/lib/gemstash/health.rb +55 -0
  34. data/lib/gemstash/http_client.rb +15 -5
  35. data/lib/gemstash/logging.rb +19 -7
  36. data/lib/gemstash/man/gemstash-authorize.1 +54 -0
  37. data/lib/gemstash/man/gemstash-authorize.1.txt +52 -0
  38. data/lib/gemstash/man/gemstash-configuration.5 +186 -0
  39. data/lib/gemstash/man/gemstash-configuration.5.txt +208 -0
  40. data/lib/gemstash/man/gemstash-customize.7 +273 -0
  41. data/lib/gemstash/man/gemstash-customize.7.txt +184 -0
  42. data/lib/gemstash/man/gemstash-debugging.7 +30 -0
  43. data/lib/gemstash/man/gemstash-debugging.7.txt +27 -0
  44. data/lib/gemstash/man/gemstash-deploy.7 +63 -0
  45. data/lib/gemstash/man/gemstash-deploy.7.txt +57 -0
  46. data/lib/gemstash/man/gemstash-mirror.7 +34 -0
  47. data/lib/gemstash/man/gemstash-mirror.7.txt +31 -0
  48. data/lib/gemstash/man/gemstash-multiple-sources.7 +131 -0
  49. data/lib/gemstash/man/gemstash-multiple-sources.7.txt +116 -0
  50. data/lib/gemstash/man/gemstash-private-gems.7 +191 -0
  51. data/lib/gemstash/man/gemstash-private-gems.7.txt +154 -0
  52. data/lib/gemstash/man/gemstash-readme.7 +199 -0
  53. data/lib/gemstash/man/gemstash-readme.7.txt +177 -0
  54. data/lib/gemstash/man/gemstash-setup.1 +38 -0
  55. data/lib/gemstash/man/gemstash-setup.1.txt +38 -0
  56. data/lib/gemstash/man/gemstash-start.1 +23 -0
  57. data/lib/gemstash/man/gemstash-start.1.txt +24 -0
  58. data/lib/gemstash/man/gemstash-status.1 +17 -0
  59. data/lib/gemstash/man/gemstash-status.1.txt +20 -0
  60. data/lib/gemstash/man/gemstash-stop.1 +17 -0
  61. data/lib/gemstash/man/gemstash-stop.1.txt +20 -0
  62. data/lib/gemstash/man/gemstash-version.1 +17 -0
  63. data/lib/gemstash/man/gemstash-version.1.txt +19 -0
  64. data/lib/gemstash/migrations/01_gem_dependencies.rb +11 -9
  65. data/lib/gemstash/migrations/02_authorizations.rb +4 -2
  66. data/lib/gemstash/migrations/03_cached_gems.rb +26 -0
  67. data/lib/gemstash/migrations/04_health_tests.rb +10 -0
  68. data/lib/gemstash/migrations/05_authorization_names.rb +10 -0
  69. data/lib/gemstash/puma.rb +5 -3
  70. data/lib/gemstash/rack_env_rewriter.rb +11 -2
  71. data/lib/gemstash/specs_builder.rb +25 -15
  72. data/lib/gemstash/storage.rb +175 -32
  73. data/lib/gemstash/upstream.rb +43 -8
  74. data/lib/gemstash/version.rb +4 -2
  75. data/lib/gemstash/web.rb +13 -8
  76. data/lib/gemstash.rb +6 -2
  77. metadata +135 -110
  78. data/.gitignore +0 -10
  79. data/.rspec +0 -2
  80. data/.rubocop-bundler.yml +0 -92
  81. data/.rubocop-relax.yml +0 -11
  82. data/.rubocop.yml +0 -8
  83. data/.travis.yml +0 -20
  84. data/Gemfile +0 -4
  85. data/README.md +0 -139
  86. data/Rakefile +0 -35
  87. data/bin/console +0 -14
  88. data/bin/gemstash +0 -3
  89. data/bin/setup +0 -5
  90. data/docs/config.md +0 -136
  91. data/docs/debug.md +0 -24
  92. data/docs/deploy.md +0 -30
  93. data/docs/mirror.md +0 -30
  94. data/docs/multiple_sources.md +0 -68
  95. data/docs/private_gems.md +0 -140
  96. data/docs/reference.md +0 -308
  97. data/gemstash.gemspec +0 -47
  98. data/gemstash.png +0 -0
  99. data/lib/gemstash/gem_unyanker.rb +0 -61
@@ -0,0 +1,199 @@
1
+ <!-- Automatically generated by Pandoc -->
2
+ .\" Automatically generated by Pandoc 3.1.8
3
+ .\"
4
+ .TH "gemstash-readme" "7" "November 30, 2015" "" ""
5
+ .SH Gemstash
6
+ .SS What is Gemstash?
7
+ Gemstash is both a cache for remote servers such as
8
+ https://rubygems.org, and a private gem source.
9
+ .PP
10
+ If you are using bundler (http://bundler.io/) across many machines that
11
+ have access to a server within your control, you might want to use
12
+ Gemstash.
13
+ .PP
14
+ If you produce gems that you don\[cq]t want everyone in the world to
15
+ have access to, you might want to use Gemstash.
16
+ .PP
17
+ If you frequently bundle the same set of gems across multiple projects,
18
+ you might want to use Gemstash.
19
+ .PP
20
+ Are you only using gems from https://rubygems.org, and don\[cq]t bundle
21
+ the same gems frequently?
22
+ Well, maybe you don\[cq]t need Gemstash\&...
23
+ yet.
24
+ .PP
25
+ Gemstash is maintained by Ruby Central (https://rubycentral.org/), a
26
+ non-profit committed to supporting the critical Ruby infrastructure you
27
+ rely on.
28
+ Contribute today as an individual, or even better, as a
29
+ company (https://rubycentral.org/#/portal/signup), and ensure that
30
+ Bundler, RubyGems, Gemstash, and other shared tooling is around for
31
+ years to come.
32
+ .SS Quickstart Guide
33
+ .SS Setup
34
+ Gemstash is designed to be quick and painless to get set up.
35
+ By the end of this Quickstart Guide, you will be able to bundle stashed
36
+ gems from public sources against a Gemstash server running on your
37
+ machine.
38
+ .PP
39
+ Install Gemstash to get started:
40
+ .IP
41
+ .EX
42
+ $ gem install gemstash
43
+ .EE
44
+ .PP
45
+ After it is installed, starting Gemstash requires no additional steps.
46
+ Simply start the Gemstash server with the \f[CR]gemstash\f[R] command:
47
+ .IP
48
+ .EX
49
+ $ gemstash start
50
+ .EE
51
+ .PP
52
+ You may have noticed that the command finished quickly.
53
+ This is because Gemstash will run the server in the background by
54
+ default.
55
+ The server runs on port 9292.
56
+ .SS Bundling
57
+ With the server running, you can bundle against it.
58
+ Tell Bundler that you want to use Gemstash to find gems from
59
+ RubyGems.org:
60
+ .IP
61
+ .EX
62
+ $ bundle config mirror.https://rubygems.org http://localhost:9292
63
+ .EE
64
+ .PP
65
+ Now you can create a Gemfile and install gems through Gemstash:
66
+ .IP
67
+ .EX
68
+ # ./Gemfile
69
+ source \[dq]https://rubygems.org\[dq]
70
+ gem \[dq]rubywarrior\[dq]
71
+ .EE
72
+ .PP
73
+ The gems you include should be gems you don\[cq]t yet have installed,
74
+ otherwise Gemstash will have nothing to stash.
75
+ Now bundle:
76
+ .IP
77
+ .EX
78
+ $ bundle install --path .bundle
79
+ .EE
80
+ .PP
81
+ Your Gemstash server has fetched the gems from https://rubygems.org and
82
+ cached them for you!
83
+ To prove this, you can disable your Internet connection and try again.
84
+ Gem files (*.gem) are cached indefinitely.
85
+ Gem dependencies metadata are cached for 30 minutes, so if you bundle
86
+ again before that, you can successfully bundle without an Internet
87
+ connection:
88
+ .IP
89
+ .EX
90
+ $ # Disable your Internet first!
91
+ $ rm -rf Gemfile.lock .bundle
92
+ $ bundle
93
+ .EE
94
+ .SS Falling back to rubygems.org
95
+ If you want to make sure that your bundling from https://rubygems.org
96
+ still works as expected when the Gemstash server is not running, you can
97
+ easily configure Bundler to fallback to https://rubygems.org.
98
+ .IP
99
+ .EX
100
+ $ bundle config mirror.https://rubygems.org.fallback_timeout true
101
+ .EE
102
+ .PP
103
+ You can also configure this fallback as a number of seconds in case the
104
+ Gemstash server is simply unresponsive.
105
+ This example uses a 3 second timeout:
106
+ .IP
107
+ .EX
108
+ $ bundle config mirror.https://rubygems.org.fallback_timeout 3
109
+ .EE
110
+ .SS Stopping the Server
111
+ Once you\[cq]ve finish using your Gemstash server, you can stop it just
112
+ as easily as you started it:
113
+ .IP
114
+ .EX
115
+ $ gemstash stop
116
+ .EE
117
+ .PP
118
+ You\[cq]ll also want to tell Bundler that it can go back to getting gems
119
+ from RubyGems.org directly, instead of going through Gemstash:
120
+ .IP
121
+ .EX
122
+ $ bundle config --delete mirror.https://rubygems.org
123
+ .EE
124
+ .SS Under the Hood
125
+ You might wonder where the gems are stored.
126
+ After running the commands above, you will find a new directory at
127
+ \f[CR]\[ti]/.gemstash\f[R].
128
+ This directory holds all the cached and private gems.
129
+ It also has a server log, the database, and configuration for Gemstash.
130
+ If you prefer, you can point to a different directory.
131
+ .PP
132
+ Gemstash uses SQLite (https://www.sqlite.org/) to store details about
133
+ private gems.
134
+ The database will be located in \f[CR]\[ti]/.gemstash\f[R], however you
135
+ won\[cq]t see the database appear until you start using private gems.
136
+ If you prefer, you can use a different database.
137
+ .PP
138
+ Gemstash temporarily caches things like gem dependencies in memory.
139
+ Anything cached in memory will last for 30 minutes before being
140
+ retrieved again.
141
+ You can use memcached instead of caching in memory.
142
+ Gem files are always cached permanently, so bundling with a
143
+ \f[CR]Gemfile.lock\f[R] with all gems cached will never call out to
144
+ https://rubygems.org.
145
+ .PP
146
+ The server you ran is provided via Puma (http://puma.io/) and
147
+ Rack (http://rack.github.io/), however they are not customizable at this
148
+ point.
149
+ .SS Deep Dive
150
+ Deep dive into more subjects:
151
+ .IP \[bu] 2
152
+ Private gems
153
+ .IP \[bu] 2
154
+ Multiple gem sources
155
+ .IP \[bu] 2
156
+ Using Gemstash as a mirror
157
+ .IP \[bu] 2
158
+ Customizing the server (database, storage, caching, and more)
159
+ .IP \[bu] 2
160
+ Deploying Gemstash
161
+ .IP \[bu] 2
162
+ Debugging Gemstash
163
+ .SS Reference
164
+ An anatomy of various configuration and commands:
165
+ .IP \[bu] 2
166
+ Configuration
167
+ .IP \[bu] 2
168
+ Authorize
169
+ .IP \[bu] 2
170
+ Start
171
+ .IP \[bu] 2
172
+ Stop
173
+ .IP \[bu] 2
174
+ Status
175
+ .IP \[bu] 2
176
+ Setup
177
+ .IP \[bu] 2
178
+ Version
179
+ .PP
180
+ To see what has changed in recent versions of Gemstash, see the
181
+ CHANGELOG (https://github.com/rubygems/gemstash/blob/master/CHANGELOG.md).
182
+ .SS Development
183
+ After checking out the repo, run \f[CR]bin/setup\f[R] to install
184
+ dependencies.
185
+ Then, run \f[CR]rake\f[R] to run RuboCop and the tests.
186
+ While developing, you can run \f[CR]bin/gemstash\f[R] to run Gemstash.
187
+ You can also run \f[CR]bin/console\f[R] for an interactive prompt that
188
+ will allow you to experiment.
189
+ .SS Contributing
190
+ Bug reports and pull requests are welcome on GitHub at
191
+ https://github.com/rubygems/gemstash.
192
+ This project is intended to be a safe, welcoming space for
193
+ collaboration, and contributors are expected to adhere to the
194
+ Contributor
195
+ Covenant (https://github.com/rubygems/gemstash/blob/master/CODE_OF_CONDUCT.md)
196
+ code of conduct.
197
+ .SS License
198
+ The gem is available as open source under the terms of the MIT
199
+ License (http://opensource.org/licenses/MIT).
@@ -0,0 +1,177 @@
1
+ 4mgemstash-readme24m(7) 4mgemstash-readme24m(7)
2
+
3
+ <!-- Automatically generated by Pandoc -->
4
+
5
+ 1mGemstash0m
6
+ 1mWhat is Gemstash?0m
7
+ Gemstash is both a cache for remote servers such as
8
+ https://rubygems.org, and a private gem source.
9
+
10
+ If you are using bundler (http://bundler.io/) across many machines that
11
+ have access to a server within your control, you might want to use Gem-
12
+ stash.
13
+
14
+ If you produce gems that you don't want everyone in the world to have
15
+ access to, you might want to use Gemstash.
16
+
17
+ If you frequently bundle the same set of gems across multiple projects,
18
+ you might want to use Gemstash.
19
+
20
+ Are you only using gems from https://rubygems.org, and don't bundle the
21
+ same gems frequently? Well, maybe you don't need Gemstash... yet.
22
+
23
+ Gemstash is maintained by Ruby Central (https://rubycentral.org/), a
24
+ non-profit committed to supporting the critical Ruby infrastructure you
25
+ rely on. Contribute today as an individual, or even better, as a com-
26
+ pany (https://rubycentral.org/#/portal/signup), and ensure that
27
+ Bundler, RubyGems, Gemstash, and other shared tooling is around for
28
+ years to come.
29
+
30
+ 1mQuickstart Guide0m
31
+ 1mSetup0m
32
+ Gemstash is designed to be quick and painless to get set up. By the
33
+ end of this Quickstart Guide, you will be able to bundle stashed gems
34
+ from public sources against a Gemstash server running on your machine.
35
+
36
+ Install Gemstash to get started:
37
+
38
+ $ gem install gemstash
39
+
40
+ After it is installed, starting Gemstash requires no additional steps.
41
+ Simply start the Gemstash server with the gemstash command:
42
+
43
+ $ gemstash start
44
+
45
+ You may have noticed that the command finished quickly. This is be-
46
+ cause Gemstash will run the server in the background by default. The
47
+ server runs on port 9292.
48
+
49
+ 1mBundling0m
50
+ With the server running, you can bundle against it. Tell Bundler that
51
+ you want to use Gemstash to find gems from RubyGems.org:
52
+
53
+ $ bundle config mirror.https://rubygems.org http://localhost:9292
54
+
55
+ Now you can create a Gemfile and install gems through Gemstash:
56
+
57
+ # ./Gemfile
58
+ source "https://rubygems.org"
59
+ gem "rubywarrior"
60
+
61
+ The gems you include should be gems you don't yet have installed, oth-
62
+ erwise Gemstash will have nothing to stash. Now bundle:
63
+
64
+ $ bundle install --path .bundle
65
+
66
+ Your Gemstash server has fetched the gems from https://rubygems.org and
67
+ cached them for you! To prove this, you can disable your Internet con-
68
+ nection and try again. Gem files (*.gem) are cached indefinitely. Gem
69
+ dependencies metadata are cached for 30 minutes, so if you bundle again
70
+ before that, you can successfully bundle without an Internet connec-
71
+ tion:
72
+
73
+ $ # Disable your Internet first!
74
+ $ rm -rf Gemfile.lock .bundle
75
+ $ bundle
76
+
77
+ 1mFalling back to rubygems.org0m
78
+ If you want to make sure that your bundling from https://rubygems.org
79
+ still works as expected when the Gemstash server is not running, you
80
+ can easily configure Bundler to fallback to https://rubygems.org.
81
+
82
+ $ bundle config mirror.https://rubygems.org.fallback_timeout true
83
+
84
+ You can also configure this fallback as a number of seconds in case the
85
+ Gemstash server is simply unresponsive. This example uses a 3 second
86
+ timeout:
87
+
88
+ $ bundle config mirror.https://rubygems.org.fallback_timeout 3
89
+
90
+ 1mStopping the Server0m
91
+ Once you've finish using your Gemstash server, you can stop it just as
92
+ easily as you started it:
93
+
94
+ $ gemstash stop
95
+
96
+ You'll also want to tell Bundler that it can go back to getting gems
97
+ from RubyGems.org directly, instead of going through Gemstash:
98
+
99
+ $ bundle config --delete mirror.https://rubygems.org
100
+
101
+ 1mUnder the Hood0m
102
+ You might wonder where the gems are stored. After running the commands
103
+ above, you will find a new directory at ~/.gemstash. This directory
104
+ holds all the cached and private gems. It also has a server log, the
105
+ database, and configuration for Gemstash. If you prefer, you can point
106
+ to a different directory.
107
+
108
+ Gemstash uses SQLite (https://www.sqlite.org/) to store details about
109
+ private gems. The database will be located in ~/.gemstash, however you
110
+ won't see the database appear until you start using private gems. If
111
+ you prefer, you can use a different database.
112
+
113
+ Gemstash temporarily caches things like gem dependencies in memory.
114
+ Anything cached in memory will last for 30 minutes before being re-
115
+ trieved again. You can use memcached instead of caching in memory.
116
+ Gem files are always cached permanently, so bundling with a Gem-
117
+ file.lock with all gems cached will never call out to
118
+ https://rubygems.org.
119
+
120
+ The server you ran is provided via Puma (http://puma.io/) and Rack
121
+ (http://rack.github.io/), however they are not customizable at this
122
+ point.
123
+
124
+ 1mDeep Dive0m
125
+ Deep dive into more subjects:
126
+
127
+ o Private gems
128
+
129
+ o Multiple gem sources
130
+
131
+ o Using Gemstash as a mirror
132
+
133
+ o Customizing the server (database, storage, caching, and more)
134
+
135
+ o Deploying Gemstash
136
+
137
+ o Debugging Gemstash
138
+
139
+ 1mReference0m
140
+ An anatomy of various configuration and commands:
141
+
142
+ o Configuration
143
+
144
+ o Authorize
145
+
146
+ o Start
147
+
148
+ o Stop
149
+
150
+ o Status
151
+
152
+ o Setup
153
+
154
+ o Version
155
+
156
+ To see what has changed in recent versions of Gemstash, see the
157
+ CHANGELOG (https://github.com/rubygems/gemstash/blob/mas-
158
+ ter/CHANGELOG.md).
159
+
160
+ 1mDevelopment0m
161
+ After checking out the repo, run bin/setup to install dependencies.
162
+ Then, run rake to run RuboCop and the tests. While developing, you can
163
+ run bin/gemstash to run Gemstash. You can also run bin/console for an
164
+ interactive prompt that will allow you to experiment.
165
+
166
+ 1mContributing0m
167
+ Bug reports and pull requests are welcome on GitHub at
168
+ https://github.com/rubygems/gemstash. This project is intended to be a
169
+ safe, welcoming space for collaboration, and contributors are expected
170
+ to adhere to the Contributor Covenant (https://github.com/rubygems/gem-
171
+ stash/blob/master/CODE_OF_CONDUCT.md) code of conduct.
172
+
173
+ 1mLicense0m
174
+ The gem is available as open source under the terms of the MIT License
175
+ (http://opensource.org/licenses/MIT).
176
+
177
+ November 30, 2015 4mgemstash-readme24m(7)
@@ -0,0 +1,38 @@
1
+ <!-- Automatically generated by Pandoc -->
2
+ .\" Automatically generated by Pandoc 3.1.8
3
+ .\"
4
+ .TH "gemstash-setup" "1" "October 9, 2015" "" ""
5
+ .SH Name
6
+ gemstash-setup - Customize your Gemstash configuration interactively
7
+ .SH Synopsis
8
+ \f[CR]gemstash setup [--redo] [--debug] [--config-file FILE]\f[R]
9
+ .SH Description
10
+ Customize your Gemstash configuration interactively.
11
+ This will save your config file, but only if a few checks pass after
12
+ you\[cq]ve provided your answers.
13
+ .SS Usage
14
+ .IP
15
+ .EX
16
+ gemstash setup
17
+ gemstash setup --redo
18
+ gemstash setup --config-file <file>
19
+ .EE
20
+ .SH Options
21
+ .IP \[bu] 2
22
+ \f[CR]--redo\f[R]: Redo the configuration.
23
+ This does nothing the first time \f[CR]gemstash setup\f[R] is run.
24
+ If you want to change your configuration using \f[CR]gemstash setup\f[R]
25
+ after you\[cq]ve run it before, you must provide this option, otherwise
26
+ Gemstash will simply indicate your setup is complete.
27
+ .IP \[bu] 2
28
+ \f[CR]--debug\f[R]: Output additional information if one of the checks
29
+ at the end of setup fails.
30
+ This will do nothing if all checks pass.
31
+ .IP \[bu] 2
32
+ \f[CR]--config-file FILE\f[R]: Specify the config file to write to.
33
+ Without this option, your configuration will be written to
34
+ \f[CR]\[ti]/.gemstash/config.yml\f[R].
35
+ If you write to a custom location, you will need to pass the
36
+ \f[CR]--config-file\f[R] option to all Gemstash commands.
37
+ If you plan to use ERB in your config file, you might want to use
38
+ \f[CR]\[ti]/.gemstash/config.yml.erb\f[R].
@@ -0,0 +1,38 @@
1
+ 4mgemstash-setup24m(1) 4mgemstash-setup24m(1)
2
+
3
+ <!-- Automatically generated by Pandoc -->
4
+
5
+ 1mName0m
6
+ gemstash-setup - Customize your Gemstash configuration interactively
7
+
8
+ 1mSynopsis0m
9
+ gemstash setup [--redo] [--debug] [--config-file FILE]
10
+
11
+ 1mDescription0m
12
+ Customize your Gemstash configuration interactively. This will save
13
+ your config file, but only if a few checks pass after you've provided
14
+ your answers.
15
+
16
+ 1mUsage0m
17
+ gemstash setup
18
+ gemstash setup --redo
19
+ gemstash setup --config-file <file>
20
+
21
+ 1mOptions0m
22
+ o --redo: Redo the configuration. This does nothing the first time
23
+ gemstash setup is run. If you want to change your configuration us-
24
+ ing gemstash setup after you've run it before, you must provide this
25
+ option, otherwise Gemstash will simply indicate your setup is com-
26
+ plete.
27
+
28
+ o --debug: Output additional information if one of the checks at the
29
+ end of setup fails. This will do nothing if all checks pass.
30
+
31
+ o --config-file FILE: Specify the config file to write to. Without
32
+ this option, your configuration will be written to ~/.gemstash/con-
33
+ fig.yml. If you write to a custom location, you will need to pass
34
+ the --config-file option to all Gemstash commands. If you plan to
35
+ use ERB in your config file, you might want to use ~/.gemstash/con-
36
+ fig.yml.erb.
37
+
38
+ October 9, 2015 4mgemstash-setup24m(1)
@@ -0,0 +1,23 @@
1
+ <!-- Automatically generated by Pandoc -->
2
+ .\" Automatically generated by Pandoc 3.1.8
3
+ .\"
4
+ .TH "gemstash-start" "1" "October 9, 2015" "" ""
5
+ .SH Name
6
+ gemstash-start - Starts the Gemstash server
7
+ .SH Synopsis
8
+ \f[CR]gemstash start [--no-daemonize] [--config-file FILE]\f[R]
9
+ .SH Description
10
+ Starts the Gemstash server.
11
+ .SH Options
12
+ .IP \[bu] 2
13
+ \f[CR]--config-file FILE\f[R]: Specify the config file to use.
14
+ If you aren\[cq]t using the default config file at
15
+ \f[CR]\[ti]/.gemstash/config.yml\f[R] or
16
+ \f[CR]\[ti]/.gemstash/config.yml.erb\f[R], then you must specify the
17
+ config file via this option.
18
+ .IP \[bu] 2
19
+ \f[CR]--no-daemonize\f[R]: The Gemstash server daemonizes itself by
20
+ default.
21
+ Provide this option to instead run the server until \f[CR]Ctrl-C\f[R] is
22
+ typed.
23
+ When not daemonized, the log will be output to standard out.
@@ -0,0 +1,24 @@
1
+ 4mgemstash-start24m(1) 4mgemstash-start24m(1)
2
+
3
+ <!-- Automatically generated by Pandoc -->
4
+
5
+ 1mName0m
6
+ gemstash-start - Starts the Gemstash server
7
+
8
+ 1mSynopsis0m
9
+ gemstash start [--no-daemonize] [--config-file FILE]
10
+
11
+ 1mDescription0m
12
+ Starts the Gemstash server.
13
+
14
+ 1mOptions0m
15
+ o --config-file FILE: Specify the config file to use. If you aren't
16
+ using the default config file at ~/.gemstash/config.yml or ~/.gem-
17
+ stash/config.yml.erb, then you must specify the config file via this
18
+ option.
19
+
20
+ o --no-daemonize: The Gemstash server daemonizes itself by default.
21
+ Provide this option to instead run the server until Ctrl-C is typed.
22
+ When not daemonized, the log will be output to standard out.
23
+
24
+ October 9, 2015 4mgemstash-start24m(1)
@@ -0,0 +1,17 @@
1
+ <!-- Automatically generated by Pandoc -->
2
+ .\" Automatically generated by Pandoc 3.1.8
3
+ .\"
4
+ .TH "gemstash-status" "1" "October 28, 2015" "" ""
5
+ .SH Name
6
+ gemstash-status - Checks status of the Gemstash server
7
+ .SH Synopsis
8
+ \f[CR]gemstash status [--config-file FILE]\f[R]
9
+ .SH Description
10
+ Checks status of the Gemstash server.
11
+ .SH Options
12
+ .IP \[bu] 2
13
+ \f[CR]--config-file FILE\f[R]: Specify the config file to use.
14
+ If you aren\[cq]t using the default config file at
15
+ \f[CR]\[ti]/.gemstash/config.yml\f[R] or
16
+ \f[CR]\[ti]/.gemstash/config.yml.erb\f[R], then you must specify the
17
+ config file via this option.
@@ -0,0 +1,20 @@
1
+ 4mgemstash-status24m(1) 4mgemstash-status24m(1)
2
+
3
+ <!-- Automatically generated by Pandoc -->
4
+
5
+ 1mName0m
6
+ gemstash-status - Checks status of the Gemstash server
7
+
8
+ 1mSynopsis0m
9
+ gemstash status [--config-file FILE]
10
+
11
+ 1mDescription0m
12
+ Checks status of the Gemstash server.
13
+
14
+ 1mOptions0m
15
+ o --config-file FILE: Specify the config file to use. If you aren't
16
+ using the default config file at ~/.gemstash/config.yml or ~/.gem-
17
+ stash/config.yml.erb, then you must specify the config file via this
18
+ option.
19
+
20
+ October 28, 2015 4mgemstash-status24m(1)
@@ -0,0 +1,17 @@
1
+ <!-- Automatically generated by Pandoc -->
2
+ .\" Automatically generated by Pandoc 3.1.8
3
+ .\"
4
+ .TH "gemstash-stop" "1" "October 9, 2015" "" ""
5
+ .SH Name
6
+ gemstash-stop - Stops the Gemstash server
7
+ .SH Synopsis
8
+ \f[CR]gemstash stop [--config-file FILE]\f[R]
9
+ .SH Description
10
+ Stops the Gemstash server.
11
+ .SH Options
12
+ .IP \[bu] 2
13
+ \f[CR]--config-file FILE\f[R]: Specify the config file to use.
14
+ If you aren\[cq]t using the default config file at
15
+ \f[CR]\[ti]/.gemstash/config.yml\f[R] or
16
+ \f[CR]\[ti]/.gemstash/config.yml.erb\f[R], then you must specify the
17
+ config file via this option.
@@ -0,0 +1,20 @@
1
+ 4mgemstash-stop24m(1) 4mgemstash-stop24m(1)
2
+
3
+ <!-- Automatically generated by Pandoc -->
4
+
5
+ 1mName0m
6
+ gemstash-stop - Stops the Gemstash server
7
+
8
+ 1mSynopsis0m
9
+ gemstash stop [--config-file FILE]
10
+
11
+ 1mDescription0m
12
+ Stops the Gemstash server.
13
+
14
+ 1mOptions0m
15
+ o --config-file FILE: Specify the config file to use. If you aren't
16
+ using the default config file at ~/.gemstash/config.yml or ~/.gem-
17
+ stash/config.yml.erb, then you must specify the config file via this
18
+ option.
19
+
20
+ October 9, 2015 4mgemstash-stop24m(1)
@@ -0,0 +1,17 @@
1
+ <!-- Automatically generated by Pandoc -->
2
+ .\" Automatically generated by Pandoc 3.1.8
3
+ .\"
4
+ .TH "gemstash-version" "1" "December 14, 2015" "" ""
5
+ .SH Name
6
+ gemstash-version - Show what version of Gemstash you are using
7
+ .SH Synopsis
8
+ \f[CR]gemstash version\f[R]
9
+ .SH Description
10
+ Show what version of Gemstash you are using.
11
+ .SS Usage
12
+ .IP
13
+ .EX
14
+ gemstash version
15
+ gemstash --version
16
+ gemstash -v
17
+ .EE
@@ -0,0 +1,19 @@
1
+ 4mgemstash-version24m(1) 4mgemstash-version24m(1)
2
+
3
+ <!-- Automatically generated by Pandoc -->
4
+
5
+ 1mName0m
6
+ gemstash-version - Show what version of Gemstash you are using
7
+
8
+ 1mSynopsis0m
9
+ gemstash version
10
+
11
+ 1mDescription0m
12
+ Show what version of Gemstash you are using.
13
+
14
+ 1mUsage0m
15
+ gemstash version
16
+ gemstash --version
17
+ gemstash -v
18
+
19
+ December 14, 2015 4mgemstash-version24m(1)
@@ -1,8 +1,10 @@
1
+ # frozen_string_literal: true
2
+
1
3
  Sequel.migration do
2
4
  change do
3
5
  create_table :rubygems do
4
6
  primary_key :id
5
- String :name, :size => 255, :null => false
7
+ String :name, :size => 191, :null => false
6
8
  DateTime :created_at, :null => false
7
9
  DateTime :updated_at, :null => false
8
10
  index [:name], :unique => true
@@ -11,17 +13,17 @@ Sequel.migration do
11
13
  create_table :versions do
12
14
  primary_key :id
13
15
  Integer :rubygem_id, :null => false
14
- String :storage_id, :size => 255, :null => false
15
- String :number, :size => 255, :null => false
16
- String :platform, :size => 255, :null => false
17
- String :full_name, :size => 255, :null => false
16
+ String :storage_id, :size => 191, :null => false
17
+ String :number, :size => 191, :null => false
18
+ String :platform, :size => 191, :null => false
19
+ String :full_name, :size => 191, :null => false
18
20
  TrueClass :indexed, :default => true, :null => false
19
21
  TrueClass :prerelease, :null => false
20
22
  DateTime :created_at, :null => false
21
23
  DateTime :updated_at, :null => false
22
- index [:rubygem_id, :number, :platform], :unique => true
24
+ index %i[rubygem_id number platform], :unique => true
23
25
  index [:indexed]
24
- index [:indexed, :prerelease]
26
+ index %i[indexed prerelease]
25
27
  index [:number]
26
28
  index [:full_name], :unique => true
27
29
  index [:storage_id], :unique => true
@@ -30,8 +32,8 @@ Sequel.migration do
30
32
  create_table :dependencies do
31
33
  primary_key :id
32
34
  Integer :version_id, :null => false
33
- String :rubygem_name, :size => 255, :null => false
34
- String :requirements, :size => 255, :null => false
35
+ String :rubygem_name, :size => 191, :null => false
36
+ String :requirements, :size => 191, :null => false
35
37
  DateTime :created_at, :null => false
36
38
  DateTime :updated_at, :null => false
37
39
  index [:version_id]
@@ -1,9 +1,11 @@
1
+ # frozen_string_literal: true
2
+
1
3
  Sequel.migration do
2
4
  change do
3
5
  create_table :authorizations do
4
6
  primary_key :id
5
- String :auth_key, :size => 2056, :null => false
6
- String :permissions, :size => 255, :null => false
7
+ String :auth_key, :size => 191, :null => false
8
+ String :permissions, :size => 191, :null => false
7
9
  DateTime :created_at, :null => false
8
10
  DateTime :updated_at, :null => false
9
11
  index [:auth_key], :unique => true