stickler 2.2.4 → 2.3.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.
Files changed (62) hide show
  1. data/CONTRIBUTING.md +48 -0
  2. data/{HISTORY.asciidoc → HISTORY.md} +8 -2
  3. data/Manifest.txt +86 -0
  4. data/{README.asciidoc → README.rdoc} +18 -20
  5. data/Rakefile +25 -59
  6. data/bin/stickler +10 -3
  7. data/examples/gemcutter_repo.ru +1 -2
  8. data/lib/stickler.rb +6 -2
  9. data/lib/stickler/client.rb +5 -4
  10. data/lib/stickler/client/delete.rb +50 -0
  11. data/lib/stickler/client/unyank.rb +50 -0
  12. data/lib/stickler/middleware.rb +7 -0
  13. data/lib/stickler/middleware/compression.rb +0 -2
  14. data/lib/stickler/middleware/gemcutter.rb +16 -7
  15. data/lib/stickler/middleware/helpers.rb +1 -3
  16. data/lib/stickler/middleware/index.rb +0 -8
  17. data/lib/stickler/middleware/local.rb +1 -5
  18. data/lib/stickler/middleware/mirror.rb +0 -4
  19. data/lib/stickler/middleware/not_found.rb +0 -1
  20. data/lib/stickler/repository.rb +9 -5
  21. data/lib/stickler/repository/index.rb +0 -1
  22. data/lib/stickler/repository/local.rb +12 -4
  23. data/lib/stickler/repository/null.rb +0 -1
  24. data/lib/stickler/repository/remote.rb +40 -20
  25. data/lib/stickler/repository/remote_mirror.rb +1 -1
  26. data/lib/stickler/server.rb +1 -9
  27. data/lib/stickler/server/public/css/blueprint/ie.css +35 -0
  28. data/lib/stickler/server/public/css/blueprint/screen.css +266 -0
  29. data/lib/stickler/server/public/css/style.css +19 -0
  30. data/man/stickler-passenger-config.1 +83 -0
  31. data/man/stickler-passenger-config.1.ronn +70 -0
  32. data/man/stickler-server.1 +168 -0
  33. data/man/stickler-server.1.ronn +84 -0
  34. data/man/stickler.1 +321 -0
  35. data/man/stickler.1.ronn +144 -0
  36. data/spec/data/gemcutter/gems/foo-1.0.0.gem +0 -0
  37. data/spec/middleware/local_spec.rb +1 -4
  38. data/spec/middleware/not_found_spec.rb +1 -2
  39. data/spec/paths_spec.rb +1 -3
  40. data/spec/repository/api_behavior.rb +34 -4
  41. data/spec/repository/api_spec.rb +2 -3
  42. data/spec/repository/index_spec.rb +10 -11
  43. data/spec/repository/local_spec.rb +10 -12
  44. data/spec/repository/null_spec.rb +2 -5
  45. data/spec/repository/remote_spec.rb +3 -5
  46. data/spec/spec_helper.rb +7 -2
  47. data/spec/spec_lite_spec.rb +1 -3
  48. data/tasks/default.rake +274 -0
  49. data/tasks/this.rb +209 -0
  50. metadata +142 -85
  51. data/.bnsignore +0 -14
  52. data/.gitignore +0 -23
  53. data/TODO.asciidoc +0 -6
  54. data/lib/stickler/version.rb +0 -36
  55. data/man/asciidoc.conf +0 -25
  56. data/man/stickler-passenger-config.asciidoc +0 -74
  57. data/man/stickler-server.asciidoc +0 -87
  58. data/man/stickler.asciidoc +0 -150
  59. data/tasks/asciidoc.rake +0 -32
  60. data/tasks/bundler.rake +0 -13
  61. data/tasks/contribute.rake +0 -36
  62. data/tasks/man.rake +0 -19
@@ -0,0 +1,19 @@
1
+ body { background-color: #fcfcfc}
2
+ .container { background-color: #ffffff; border-left: 2px solid #e9e9e9; border-right: 2px solid #e9e9e9; }
3
+ header h1 { font-weight: bold; text-align: center; color: #A11A00; padding: 1em; }
4
+ header samp { text-align: center; padding: 1em; }
5
+
6
+ nav { background-color: #ededed; border-top: 2px solid #ddd; border-bottom: 2px solid #ddd;}
7
+ nav ol { text-align: center; margin-bottom: 0; list-style: none;}
8
+ nav ol li { display: inline-block; padding: 0px 3px 0px 3px; }
9
+ nav ol li a { text-decoration: none; color: #393939;}
10
+ nav ol li a:hover { font-weight: bold; background-color: #fff; color: #333333; }
11
+
12
+ .gemlist ol { list-style: none; }
13
+ .gemlist li.stripe { background-color: #e9e9e9; }
14
+ .gem { padding: 10px; border-bottom: 2px solid #ddd; }
15
+ .gem .name { text-align: left; vertical-align: top; display: inline-block; width: 50%; letter-spacing: 0.2em; font-weight: 900;}
16
+ .gem .version { text-align: right; vertical-align: top; display: inline-block; width: 49%; color: #939393;}
17
+
18
+ .letter-start a { text-decoration: none; }
19
+ .letter-start h2 { font-weight: 900; color: #A11A00; text-align: center; }
@@ -0,0 +1,83 @@
1
+ .\" generated with Ronn/v0.7.3
2
+ .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
+ .
4
+ .TH "STICKLER\-PASSENGER\-CONFIG" "1" "March 2013" "" ""
5
+ .
6
+ .SH "NAME"
7
+ stickler\-passenger\-config \- output a Phusion Passenger config for stickler
8
+ .
9
+ .SH "SYNOPSIS"
10
+ \fIstickler\-passenger\-config\fR [\-\-help] [COMMAND] [COMMAND_OPTIONS] /path/to/stickler/root
11
+ .
12
+ .SH "DESCRIPTION"
13
+ \fIstickler\-passenger\-config\fR will create a stickler web application directory, including the config\.ru file for use with Phusion Passenger \fIhttp://modrails\.com/\fR\. It will then output the stanza to be incorporated into an Apache \fIhttp://httpd\.apache\.org/\fR or Nginx \fIhttp://nginx\.net\fR configuration\.
14
+ .
15
+ .SH "COMMANDS"
16
+ \fIapache2\fR: Output an Apache config\.
17
+ .
18
+ .P
19
+ \fInginx\fR: Output an Nginx config\.
20
+ .
21
+ .SH "OPTIONS"
22
+ \fI\-h, \-\-help\fR:
23
+ .
24
+ .IP "" 4
25
+ .
26
+ .nf
27
+
28
+ Show the help message
29
+ .
30
+ .fi
31
+ .
32
+ .IP "" 0
33
+ .
34
+ .P
35
+ \fI\-v, \-\-version\fR:
36
+ .
37
+ .IP "" 4
38
+ .
39
+ .nf
40
+
41
+ Output the version\.
42
+ .
43
+ .fi
44
+ .
45
+ .IP "" 0
46
+ .
47
+ .SH "EXAMPLES"
48
+ Output a passenger config for use with apache\.
49
+ .
50
+ .IP "" 4
51
+ .
52
+ .nf
53
+
54
+ stickler\-passenger\-config apache2 /var/lib/stickler
55
+ .
56
+ .fi
57
+ .
58
+ .IP "" 0
59
+ .
60
+ .P
61
+ Output a pasenger a config to be integrated with an nginx config\.
62
+ .
63
+ .IP "" 4
64
+ .
65
+ .nf
66
+
67
+ stickler\-passenger\-config nginx /var/lib/stickler
68
+ .
69
+ .fi
70
+ .
71
+ .IP "" 0
72
+ .
73
+ .SH "SEE ALSO"
74
+ stickler(1), stickler\-server(1)
75
+ .
76
+ .SH "AUTHOR"
77
+ Written by Jeremy Hinegardner \fIjeremy@copiousfreetime\.org\fR
78
+ .
79
+ .SH "RESOURCES"
80
+ GitHub project \fIhttps://www\.github\.com/copiousfreetime/stickler\fR
81
+ .
82
+ .SH "BUGS"
83
+ Please report bugs to the github issue tracker \fIhttps://github\.com/copiousfreetime/stickler/issues\fR
@@ -0,0 +1,70 @@
1
+ STICKLER-PASSENGER-CONFIG(1)
2
+ ============================
3
+
4
+ NAME
5
+ ----
6
+ stickler-passenger-config - output a Phusion Passenger config for stickler
7
+
8
+
9
+ SYNOPSIS
10
+ --------
11
+ *stickler-passenger-config* [--help] [COMMAND] [COMMAND_OPTIONS] /path/to/stickler/root
12
+
13
+
14
+ DESCRIPTION
15
+ -----------
16
+ *stickler-passenger-config* will create a stickler web application directory,
17
+ including the config.ru file for use with [Phusion Passenger](http://modrails.com/).
18
+ It will then output the stanza to be incorporated into an
19
+ [Apache](http://httpd.apache.org/) or [Nginx](http://nginx.net)
20
+ configuration.
21
+
22
+
23
+ COMMANDS
24
+ --------
25
+
26
+ *apache2*: Output an Apache config.
27
+
28
+ *nginx*: Output an Nginx config.
29
+
30
+
31
+ OPTIONS
32
+ -------
33
+ *-h, --help*:
34
+ Show the help message
35
+
36
+ *-v, --version*:
37
+ Output the version.
38
+
39
+
40
+ EXAMPLES
41
+ --------
42
+ Output a passenger config for use with apache.
43
+
44
+ stickler-passenger-config apache2 /var/lib/stickler
45
+
46
+
47
+ Output a pasenger a config to be integrated with an nginx config.
48
+
49
+ stickler-passenger-config nginx /var/lib/stickler
50
+
51
+
52
+ SEE ALSO
53
+ --------
54
+ stickler(1), stickler-server(1)
55
+
56
+
57
+ AUTHOR
58
+ ------
59
+ Written by Jeremy Hinegardner <jeremy@copiousfreetime.org>
60
+
61
+
62
+ RESOURCES
63
+ ---------
64
+ [GitHub project](https://www.github.com/copiousfreetime/stickler)
65
+
66
+
67
+ BUGS
68
+ ----
69
+ Please report bugs to the [github issue tracker](https://github.com/copiousfreetime/stickler/issues)
70
+
@@ -0,0 +1,168 @@
1
+ .\" generated with Ronn/v0.7.3
2
+ .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
+ .
4
+ .TH "STICKLER\-SERVER" "1" "March 2013" "" ""
5
+ .
6
+ .SH "NAME"
7
+ stickler\-server \- start and stop the stickler server process
8
+ .
9
+ .SH "SYNOPSIS"
10
+ \fIstickler\-server\fR [\-\-help] [COMMAND] [COMMAND_OPTIONS] /path/to/stickler/root
11
+ .
12
+ .SH "DESCRIPTION"
13
+ stickler\-server is the daemon process that houses the repositories of proprietary gems and/or mirrors of third party gems\.
14
+ .
15
+ .SH "COMMANDS"
16
+ \fIstart\fR:
17
+ .
18
+ .IP "" 4
19
+ .
20
+ .nf
21
+
22
+ Start the stickler server process
23
+ .
24
+ .fi
25
+ .
26
+ .IP "" 0
27
+ .
28
+ .P
29
+ \fIstop\fR:
30
+ .
31
+ .IP "" 4
32
+ .
33
+ .nf
34
+
35
+ Stop the stickler server process
36
+ .
37
+ .fi
38
+ .
39
+ .IP "" 0
40
+ .
41
+ .SH "OPTIONS"
42
+ \fI\-d, \-\-daemonize\fR:
43
+ .
44
+ .IP "" 4
45
+ .
46
+ .nf
47
+
48
+ Daemonize the server
49
+ .
50
+ .fi
51
+ .
52
+ .IP "" 0
53
+ .
54
+ .P
55
+ \fI\-\-help\fR:
56
+ .
57
+ .IP "" 4
58
+ .
59
+ .nf
60
+
61
+ Show the help message
62
+ .
63
+ .fi
64
+ .
65
+ .IP "" 0
66
+ .
67
+ .P
68
+ \fI\-h, \-\-host\fR=\'HOST\':
69
+ .
70
+ .IP "" 4
71
+ .
72
+ .nf
73
+
74
+ The host address to bind to (default: 0\.0\.0\.0)
75
+ .
76
+ .fi
77
+ .
78
+ .IP "" 0
79
+ .
80
+ .P
81
+ \fI\-o, \-\-port\fR=\'PORT\':
82
+ .
83
+ .IP "" 4
84
+ .
85
+ .nf
86
+
87
+ The port to bind to (default: 6789)
88
+ .
89
+ .fi
90
+ .
91
+ .IP "" 0
92
+ .
93
+ .P
94
+ \fI\-p, \-\-pid\fR=\'PID_FILE\':
95
+ .
96
+ .IP "" 4
97
+ .
98
+ .nf
99
+
100
+ Path to wriate a pid file to after daemonizing
101
+ .
102
+ .fi
103
+ .
104
+ .IP "" 0
105
+ .
106
+ .P
107
+ \fI\-s, \-\-server\fR=\'SERVER\':
108
+ .
109
+ .IP "" 4
110
+ .
111
+ .nf
112
+
113
+ The rack handler to use: thin, mongrel, webrick, etc\.
114
+ .
115
+ .fi
116
+ .
117
+ .IP "" 0
118
+ .
119
+ .P
120
+ \fI\-v, \-\-version\fR:
121
+ .
122
+ .IP "" 4
123
+ .
124
+ .nf
125
+
126
+ Output the version\.
127
+ .
128
+ .fi
129
+ .
130
+ .IP "" 0
131
+ .
132
+ .SH "EXAMPLES"
133
+ Start the server, daemonized, using /var/lib/stickler as the root directory of all the repositories\.
134
+ .
135
+ .IP "" 4
136
+ .
137
+ .nf
138
+
139
+ stickler\-server start \-\-daemonize /var/lib/stickler
140
+ .
141
+ .fi
142
+ .
143
+ .IP "" 0
144
+ .
145
+ .P
146
+ Stop the server that is using /var/lib/stickler as its root directory\.
147
+ .
148
+ .IP "" 4
149
+ .
150
+ .nf
151
+
152
+ stickler\-server stop /var/lib/stickler
153
+ .
154
+ .fi
155
+ .
156
+ .IP "" 0
157
+ .
158
+ .SH "SEE ALSO"
159
+ stickler(1), stickler\-passenger\-config(1)
160
+ .
161
+ .SH "AUTHOR"
162
+ Written by Jeremy Hinegardner \fIjeremy@copiousfreetime\.org\fR
163
+ .
164
+ .SH "RESOURCES"
165
+ GitHub project \fIhttps://www\.github\.com/copiousfreetime/stickler\fR
166
+ .
167
+ .SH "BUGS"
168
+ Please report bugs to the github issue tracker \fIhttps://github\.com/copiousfreetime/stickler/issues\fR
@@ -0,0 +1,84 @@
1
+ STICKLER-SERVER(1)
2
+ ==================
3
+
4
+ NAME
5
+ ----
6
+ stickler-server - start and stop the stickler server process
7
+
8
+
9
+ SYNOPSIS
10
+ --------
11
+ *stickler-server* [--help] [COMMAND] [COMMAND_OPTIONS] /path/to/stickler/root
12
+
13
+
14
+ DESCRIPTION
15
+ -----------
16
+ stickler-server is the daemon process that houses the repositories of
17
+ proprietary gems and/or mirrors of third party gems.
18
+
19
+
20
+ COMMANDS
21
+ --------
22
+ *start*:
23
+ Start the stickler server process
24
+
25
+ *stop*:
26
+ Stop the stickler server process
27
+
28
+
29
+ OPTIONS
30
+ -------
31
+ *-d, --daemonize*:
32
+ Daemonize the server
33
+
34
+ *--help*:
35
+ Show the help message
36
+
37
+ *-h, --host*='HOST':
38
+ The host address to bind to (default: 0.0.0.0)
39
+
40
+ *-o, --port*='PORT':
41
+ The port to bind to (default: 6789)
42
+
43
+ *-p, --pid*='PID_FILE':
44
+ Path to wriate a pid file to after daemonizing
45
+
46
+ *-s, --server*='SERVER':
47
+ The rack handler to use: thin, mongrel, webrick, etc.
48
+
49
+ *-v, --version*:
50
+ Output the version.
51
+
52
+
53
+ EXAMPLES
54
+ --------
55
+ Start the server, daemonized, using /var/lib/stickler as the root directory of
56
+ all the repositories.
57
+
58
+ stickler-server start --daemonize /var/lib/stickler
59
+
60
+ Stop the server that is using /var/lib/stickler as its root directory.
61
+
62
+ stickler-server stop /var/lib/stickler
63
+
64
+
65
+ SEE ALSO
66
+ --------
67
+ stickler(1), stickler-passenger-config(1)
68
+
69
+
70
+ AUTHOR
71
+ ------
72
+ Written by Jeremy Hinegardner <jeremy@copiousfreetime.org>
73
+
74
+
75
+ RESOURCES
76
+ ---------
77
+ [GitHub project](https://www.github.com/copiousfreetime/stickler)
78
+
79
+
80
+ BUGS
81
+ ----
82
+ Please report bugs to the [github issue
83
+ tracker](https://github.com/copiousfreetime/stickler/issues)
84
+
@@ -0,0 +1,321 @@
1
+ .\" generated with Ronn/v0.7.3
2
+ .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
+ .
4
+ .TH "STICKLER" "1" "March 2013" "" ""
5
+ .
6
+ .SH "NAME"
7
+ stickler \- command line program to interact with a stickler\-server
8
+ .
9
+ .SH "SYNOPSIS"
10
+ \fIstickler\fR [\-\-help] [COMMAND] [COMMAND_OPTIONS] [gemfile(s)]
11
+ .
12
+ .SH "DESCRIPTION"
13
+ Stickler is a tool to organize and maintain an internal gem repository of proprietary gems and/or a mirror of third party gems\.
14
+ .
15
+ .P
16
+ The stickler(1) command interacts with an instance of stickler\-server(1) to control the publishing and mirroring of ruby gems\.
17
+ .
18
+ .SH "COMMANDS"
19
+ \fIpush\fR:
20
+ .
21
+ .IP "" 4
22
+ .
23
+ .nf
24
+
25
+ Push one or more gems to a gemserver\. This works the same as `gem push`
26
+ although there is no authorization mechanism\.
27
+ .
28
+ .fi
29
+ .
30
+ .IP "" 0
31
+ .
32
+ .P
33
+ \fIyank\fR:
34
+ .
35
+ .IP "" 4
36
+ .
37
+ .nf
38
+
39
+ Remove a gem from the gemserver\'s index\. It will still be available from
40
+ direct download\. This works the same as `gem yank`\.
41
+ .
42
+ .fi
43
+ .
44
+ .IP "" 0
45
+ .
46
+ .P
47
+ \fImirror\fR:
48
+ .
49
+ .IP "" 4
50
+ .
51
+ .nf
52
+
53
+ Pull a specific version of a gem from an upstream gem server and
54
+ store it in a stickler\-server(1)\.
55
+ .
56
+ .fi
57
+ .
58
+ .IP "" 0
59
+ .
60
+ .P
61
+ \fIconfig\fR:
62
+ .
63
+ .IP "" 4
64
+ .
65
+ .nf
66
+
67
+ Access or update the stickler client configuration\.
68
+ .
69
+ .fi
70
+ .
71
+ .IP "" 0
72
+ .
73
+ .P
74
+ \fIlist\fR:
75
+ .
76
+ .IP "" 4
77
+ .
78
+ .nf
79
+
80
+ List all the gems in the remote repository\.
81
+ .
82
+ .fi
83
+ .
84
+ .IP "" 0
85
+ .
86
+ .P
87
+ \fIunyank\fR:
88
+ .
89
+ .IP "" 4
90
+ .
91
+ .nf
92
+
93
+ Put a gem that was _yanked_ back into the gemserver index\. This reverses a
94
+ `yank`\.
95
+ .
96
+ .fi
97
+ .
98
+ .IP "" 0
99
+ .
100
+ .SH "OPTIONS"
101
+ These are the options for all commands\. Not all options apply to all commands\.
102
+ .
103
+ .P
104
+ \fI\-a, \-\-add\fR:
105
+ .
106
+ .IP "" 4
107
+ .
108
+ .nf
109
+
110
+ Add the `\-\-server` or `\-\-upstream` items to the config file when using the
111
+ `config` command\.
112
+ .
113
+ .fi
114
+ .
115
+ .IP "" 0
116
+ .
117
+ .P
118
+ \fI\-d, \-\-debug\fR:
119
+ .
120
+ .IP "" 4
121
+ .
122
+ .nf
123
+
124
+ Output debug information
125
+ .
126
+ .fi
127
+ .
128
+ .IP "" 0
129
+ .
130
+ .P
131
+ \fI\-g, \-\-gem\-version\fR=\'VERSION\':
132
+ .
133
+ .IP "" 4
134
+ .
135
+ .nf
136
+
137
+ The version of the gem to yank from `\-\-server` or to mirror from
138
+ `\-\-upstream`\.
139
+ .
140
+ .fi
141
+ .
142
+ .IP "" 0
143
+ .
144
+ .P
145
+ \fI\-h, \-\-help\fR:
146
+ .
147
+ .IP "" 4
148
+ .
149
+ .nf
150
+
151
+ Show the help message
152
+ .
153
+ .fi
154
+ .
155
+ .IP "" 0
156
+ .
157
+ .P
158
+ \fI\-l, \-\-list\fR:
159
+ .
160
+ .IP "" 4
161
+ .
162
+ .nf
163
+
164
+ Display the current configuration when using the `config` command\.
165
+ .
166
+ .fi
167
+ .
168
+ .IP "" 0
169
+ .
170
+ .P
171
+ \fI\-p, \-\-platform\fR=\'PLATFORM\':
172
+ .
173
+ .IP "" 4
174
+ .
175
+ .nf
176
+
177
+ The platform of the gem to yank from `\-\-server` or to mirror from
178
+ `\-\-upstream` (e\.g\. ruby, java, mswin32)
179
+ .
180
+ .fi
181
+ .
182
+ .IP "" 0
183
+ .
184
+ .P
185
+ \fI\-s, \-\-server\fR=\'SERVER\':
186
+ .
187
+ .IP "" 4
188
+ .
189
+ .nf
190
+
191
+ The gem server or stickler\-server(1) URL\. This is used by all the commands\.
192
+ .
193
+ .fi
194
+ .
195
+ .IP "" 0
196
+ .
197
+ .P
198
+ \fI\-u, \-\-upstream\fR=\'SERVER\':
199
+ .
200
+ .IP "" 4
201
+ .
202
+ .nf
203
+
204
+ The upstream server from which to mirror a gem when using the `mirror`
205
+ command\.
206
+ .
207
+ .fi
208
+ .
209
+ .IP "" 0
210
+ .
211
+ .P
212
+ \fI\-v, \-\-version\fR:
213
+ .
214
+ .IP "" 4
215
+ .
216
+ .nf
217
+
218
+ Output the version\.
219
+ .
220
+ .fi
221
+ .
222
+ .IP "" 0
223
+ .
224
+ .SH "CONFIGURATION"
225
+ Stickler uses the \fB\.gem/stickler\fR file to hold its configuration\. It is a yaml file and Currently there are two options\. These are altered using the \fBstickler config\fR command\.
226
+ .
227
+ .P
228
+ \fIupstream\fR: The default upstream server from which to mirror gems\. \fIserver\fR: The default linkstick:stickler\-server[1] to interact with\.
229
+ .
230
+ .P
231
+ An example config file
232
+ .
233
+ .IP "" 4
234
+ .
235
+ .nf
236
+
237
+ \-\-\-
238
+ :server: http://stickler\.example\.com
239
+ :upstream: https://rubygems\.org
240
+ .
241
+ .fi
242
+ .
243
+ .IP "" 0
244
+ .
245
+ .SH "EXAMPLES"
246
+ Push the local \fBmy_gem\-1\.0\.0\.gem\fR file to the stickler\-server(1) at \fIstickler\.example\.com\fR
247
+ .
248
+ .IP "" 4
249
+ .
250
+ .nf
251
+
252
+ stickler push \./my_gem\-1\.0\.0\.gem \-\-server http://stickler\.example\.com/
253
+ .
254
+ .fi
255
+ .
256
+ .IP "" 0
257
+ .
258
+ .P
259
+ Push all the gems in the \fBpkg\fR directory to the stickler\-server(1) at \fIstickler\.example\.com\fR
260
+ .
261
+ .IP "" 4
262
+ .
263
+ .nf
264
+
265
+ stickler push \-\-server http://stickler\.example\.com/ \./pkg/*\.gem
266
+ .
267
+ .fi
268
+ .
269
+ .IP "" 0
270
+ .
271
+ .P
272
+ Yank vesion 1\.0\.0 of my_gem from the gem index on sticker\.example\.com
273
+ .
274
+ .IP "" 4
275
+ .
276
+ .nf
277
+
278
+ stickler yank my_gem \-\-version 1\.0\.0 \-\-server http://stickler\.example\.com/
279
+ .
280
+ .fi
281
+ .
282
+ .IP "" 0
283
+ .
284
+ .P
285
+ Take the +third_party+ gem, version +1\.4\.2+ that is on \fIrubygems\.org\fR and mirror it on \fIstickler\.example\.com\fR
286
+ .
287
+ .IP "" 4
288
+ .
289
+ .nf
290
+
291
+ stickler mirror third_party_gem \-\-gem\-version 0\.4\.2 \-\-upstream http://rubygems\.org/ \-\-server http://stickler\.example\.com/
292
+ stickler mirror \-\-help
293
+ .
294
+ .fi
295
+ .
296
+ .IP "" 0
297
+ .
298
+ .P
299
+ Set the \fBserver\fR and \fBupstream\fR configration values in the \fB\.gem/stickler\fR file\.
300
+ .
301
+ .IP "" 4
302
+ .
303
+ .nf
304
+
305
+ stickler config \-\-add \-\-server http://stickler\.example\.com \-\-upstream http://rubygems\.org/
306
+ .
307
+ .fi
308
+ .
309
+ .IP "" 0
310
+ .
311
+ .SH "SEE ALSO"
312
+ stickler\-server(1), stickler\-passenger\-config(1)
313
+ .
314
+ .SH "AUTHOR"
315
+ Written by Jeremy Hinegardner \fIjeremy@copiousfreetime\.org\fR
316
+ .
317
+ .SH "RESOURCES"
318
+ GitHub project \fIhttps://www\.github\.com/copiousfreetime/stickler\fR
319
+ .
320
+ .SH "BUGS"
321
+ Please report bugs to the github issue tracker \fIhttps://github\.com/copiousfreetime/stickler/issues\fR