Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Newer
Older
100644 269 lines (158 sloc) 7.884 kB
afb9dae @ffmike add page on gem plugins
ffmike authored
1 ---
2 layout: default
3 title: Plugins
2933655 @acacheung Add redesign styles for guides
acacheung authored
4 url: /plugins
afb9dae @ffmike add page on gem plugins
ffmike authored
5 previous: /faqs
337e666 @ffmike Add a credits page for consistency
ffmike authored
6 next: /credits
afb9dae @ffmike add page on gem plugins
ffmike authored
7 ---
8
2933655 @acacheung Add redesign styles for guides
acacheung authored
9 <em class="t-gray">Extensions that use the RubyGems plugin API.</em>
10
afb9dae @ffmike add page on gem plugins
ffmike authored
11 As of RubyGems 1.3.2, RubyGems will load plugins installed in gems or $LOAD\_PATH. Plugins must be named 'rubygems\_plugin' (.rb, .so, etc) and placed at the root of your gem's #require\_path. Plugins are discovered via Gem::find\_files then loaded. Take care when implementing a plugin as your plugin file may be loaded multiple times if multiple versions of your gem are installed.
12
13 The following list of RubyGems plugins is probably not exhaustive. If you know of plugins that we missed, feel free to update this page.
14
249dd0a @mpapis add plugins executable-hooks, gem-empty, gem-wrappers
mpapis authored
15 * [executable-hooks](#executablehooks)
afb9dae @ffmike add page on gem plugins
ffmike authored
16 * [gem-browse](#gembrowse)
17 * [gem-ctags](#gemctags)
249dd0a @mpapis add plugins executable-hooks, gem-empty, gem-wrappers
mpapis authored
18 * [gem-empty](#gemempty)
afb9dae @ffmike add page on gem plugins
ffmike authored
19 * [gem_info](#geminfo)
20 * [gem-init](#geminit)
92086cb @strzibny Add gem-compare to the list of RubyGems plugins
strzibny authored
21 * [gem-compare](#gemcompare)
afb9dae @ffmike add page on gem plugins
ffmike authored
22 * [gem-man](#gemman)
454ca97 @strzibny Add gem-nice-install to the list of plugins
strzibny authored
23 * [gem-nice-install](#gemniceinstall)
afb9dae @ffmike add page on gem plugins
ffmike authored
24 * [gem-orphan](#gemorphan)
a13975a @strzibny Add gem-patch to the list of plugins
strzibny authored
25 * [gem-patch](#gempatch)
afb9dae @ffmike add page on gem plugins
ffmike authored
26 * [gem-toolbox](#gemtoolbox)
249dd0a @mpapis add plugins executable-hooks, gem-empty, gem-wrappers
mpapis authored
27 * [gem-wrappers](#gemwrappers)
afb9dae @ffmike add page on gem plugins
ffmike authored
28 * [graph](#graph)
29 * [maven-gem](#mavengem)
30 * [open-gem](#opengem)
31 * [PushSafety](#pushsafety)
32 * [rbenv-rehash](#rbenvrehash)
33 * [rubygems-desc](#rubygemsdesc)
f3395b1 Added rubygems-openpgp to the plugins list
Grant Olson authored
34 * [rubygems-openpgp](#rubygemsopenpgp)
afb9dae @ffmike add page on gem plugins
ffmike authored
35 * [rubygems-sandbox](#rubygemssandbox)
36 * [rubygems_snapshot](#rubygemssnapshot)
b007567 @postmodern Added rubygems-tasks to plugins.md.
postmodern authored
37 * [rubygems-tasks](#rubygemstasks)
82dc38b @brianstorti add rubygems_plugin_generator to the plugins list
brianstorti authored
38 * [rubygems_plugin_generator](#rubygemsplugingenerator)
afb9dae @ffmike add page on gem plugins
ffmike authored
39
249dd0a @mpapis add plugins executable-hooks, gem-empty, gem-wrappers
mpapis authored
40 <a id="executablehooks"> </a>
55b8773 @acacheung Fix heading links on plugins page
acacheung authored
41
249dd0a @mpapis add plugins executable-hooks, gem-empty, gem-wrappers
mpapis authored
42 ## executable-hooks
55b8773 @acacheung Fix heading links on plugins page
acacheung authored
43
249dd0a @mpapis add plugins executable-hooks, gem-empty, gem-wrappers
mpapis authored
44 [https://github.com/mpapis/executable-hooks](https://github.com/mpapis/executable-hooks)
45
46 Extends rubygems to support executables plugins.
47
48 In gem lib dir create rubygems_executable_plugin.rb:
49
50 Gem.execute do |original_file|
51 warn("Executing: #{original_file}")
52 end
53
54
afb9dae @ffmike add page on gem plugins
ffmike authored
55 <a id="gembrowse"> </a>
55b8773 @acacheung Fix heading links on plugins page
acacheung authored
56
afb9dae @ffmike add page on gem plugins
ffmike authored
57 ## gem-browse
58
59 [https://github.com/tpope/gem-browse](https://github.com/tpope/gem-browse)
60
61 Adds four commands:
62
63 - `gem edit` opens a gem in your editor
64 - `gem open` opens a gem by name in your editor
65 - `gem clone` clones a gem from GitHub
66 - `gem browse` opens a gem's homepage in your browser
67
249dd0a @mpapis add plugins executable-hooks, gem-empty, gem-wrappers
mpapis authored
68 <a id="gemempty"> </a>
55b8773 @acacheung Fix heading links on plugins page
acacheung authored
69
249dd0a @mpapis add plugins executable-hooks, gem-empty, gem-wrappers
mpapis authored
70 ## gem-empty
71
72 [https://github.com/rvm/gem-empty](https://github.com/rvm/gem-empty)
73
74 Adds command `gem empty` to remove all gems from current `GEM_HOME`.
75
afb9dae @ffmike add page on gem plugins
ffmike authored
76 <a id="gemctags"> </a>
55b8773 @acacheung Fix heading links on plugins page
acacheung authored
77
afb9dae @ffmike add page on gem plugins
ffmike authored
78 ## gem-ctags
79
80 [https://github.com/tpope/gem-ctags](https://github.com/tpope/gem-ctags)
81
82 Adds a `gem ctags` command to invoke the Exuberant Ctags indexer on already-installed gems, and then automatically invokes it on gems as they are installed.
83
84 <a id="geminfo"> </a>
55b8773 @acacheung Fix heading links on plugins page
acacheung authored
85
afb9dae @ffmike add page on gem plugins
ffmike authored
86 ## gem_info
87
88 [https://github.com/oggy/gem_info](https://github.com/oggy/gem_info)
89
90 Adds a `gem info` command with fuzzy matching on name and version. Designed for scripting use.
91
92 <a id="geminit"> </a>
55b8773 @acacheung Fix heading links on plugins page
acacheung authored
93
afb9dae @ffmike add page on gem plugins
ffmike authored
94 ## gem-init
95
96 [https://github.com/mwhuss/gem-init](https://github.com/mwhuss/gem-init)
97
98 Adds `gem init` to create a barebones gem.
99
92086cb @strzibny Add gem-compare to the list of RubyGems plugins
strzibny authored
100 <a id="gemcompare"> </a>
55b8773 @acacheung Fix heading links on plugins page
acacheung authored
101
92086cb @strzibny Add gem-compare to the list of RubyGems plugins
strzibny authored
102 ## gem-compare
103
104 [https://github.com/strzibny/gem-compare](https://github.com/strzibny/gem-compare)
105
106 Adds `gem compare` command that can help you to track upstream changes in the released
107 .gem files by comparing gemspec values, gemspec and Gemfile dependencies and files.
108
109
afb9dae @ffmike add page on gem plugins
ffmike authored
110 <a id="gemman"> </a>
55b8773 @acacheung Fix heading links on plugins page
acacheung authored
111
afb9dae @ffmike add page on gem plugins
ffmike authored
112 ## gem-man
113
114 [https://github.com/defunkt/gem-man](https://github.com/defunkt/gem-man)
115
116 The `gem man` command lets you view a gem's man page.
117
454ca97 @strzibny Add gem-nice-install to the list of plugins
strzibny authored
118 <a id="gemniceinstall"> </a>
55b8773 @acacheung Fix heading links on plugins page
acacheung authored
119
454ca97 @strzibny Add gem-nice-install to the list of plugins
strzibny authored
120 ## gem-nice-install
121
122 [https://github.com/voxik/gem-nice-install](https://github.com/voxik/gem-nice-install)
123
124 Tries to install system dependencies needed to install your gems with binary extensions
125 using standard `gem install` command. This currently works only for Fedora, but
126 hopefully will be extended.
127
afb9dae @ffmike add page on gem plugins
ffmike authored
128 <a id="gemorphan"> </a>
55b8773 @acacheung Fix heading links on plugins page
acacheung authored
129
afb9dae @ffmike add page on gem plugins
ffmike authored
130 ## gem-orphan
131
132 [https://github.com/sakuro/gem-orphan](https://github.com/sakuro/gem-orphan)
133
134 Adds a `gem orphan` command that finds and lists gems on which no other gems are depending.
135
a13975a @strzibny Add gem-patch to the list of plugins
strzibny authored
136 <a id="gempatch"> </a>
55b8773 @acacheung Fix heading links on plugins page
acacheung authored
137
a13975a @strzibny Add gem-patch to the list of plugins
strzibny authored
138 ## gem-patch
139
140 [https://github.com/strzibny/gem-patch](https://github.com/strzibny/gem-patch)
141
142 Adds `gem patch` command, which enables you to apply patches directly on `.gem` files.
143 Supports both RubyGems 1.8 and RubyGems 2.0.
144
afb9dae @ffmike add page on gem plugins
ffmike authored
145 <a id="gemtoolbox"> </a>
55b8773 @acacheung Fix heading links on plugins page
acacheung authored
146
afb9dae @ffmike add page on gem plugins
ffmike authored
147 ## gem-toolbox
148
149 [https://github.com/gudleik/gem-toolbox](https://github.com/gudleik/gem-toolbox)
150
151 Adds six commands:
152
153 - `gem open` - opens a gem in your default editor
154 - `gem cd` - changes your working directory to the gem's source root
155 - `gem readme` - locates and displays a gem's readme file
156 - `gem history` - locates and display's a gem's changelog
157 - `gem doc` - Browse a gem's documentation in your default browser
158 - `gem visit` - Open a gem's homepage in your default browser
159
249dd0a @mpapis add plugins executable-hooks, gem-empty, gem-wrappers
mpapis authored
160 <a id="gemwrappers"> </a>
55b8773 @acacheung Fix heading links on plugins page
acacheung authored
161
249dd0a @mpapis add plugins executable-hooks, gem-empty, gem-wrappers
mpapis authored
162 ## gem-wrappers
163
164 [https://github.com/rvm/gem-wrappers](https://github.com/rvm/gem-wrappers)
165
166 Create gem wrappers for easy use of gems in cron and other system locations.
167 By default wrappers are installed when a gem is installed.
168
169 Adds this commands:
170
171 - `gem wrappers regenerate` - force rebuilding wrappers for all gem executables
172 - `gem wrappers` - show current configuration
173
afb9dae @ffmike add page on gem plugins
ffmike authored
174 <a id="graph"> </a>
55b8773 @acacheung Fix heading links on plugins page
acacheung authored
175
afb9dae @ffmike add page on gem plugins
ffmike authored
176 ## graph
177
178 [https://github.com/seattlerb/graph](https://github.com/seattlerb/graph)
179
180 Adds a `gem graph` command to output a gem dependency graph in graphviz's dot format.
181
182 <a id="mavengem"> </a>
55b8773 @acacheung Fix heading links on plugins page
acacheung authored
183
afb9dae @ffmike add page on gem plugins
ffmike authored
184 ## maven_gem
185
186 [https://github.com/jruby/maven_gem](https://github.com/jruby/maven_gem)
187
188 Adds `gem maven` to install any Maven-published Java library as though it were a gem.
189
190 <a id="opengem"> </a>
55b8773 @acacheung Fix heading links on plugins page
acacheung authored
191
afb9dae @ffmike add page on gem plugins
ffmike authored
192 ## open_gem
193
194 [https://github.com/adamsanderson/open_gem](https://github.com/adamsanderson/open_gem)
195
196 Adds two commands:
197
198 - `gem open` opens a gem in your default editor
199 - `gem read` opens a gem's rdoc in your default browser
200
201 <a id="pushsafety"> </a>
55b8773 @acacheung Fix heading links on plugins page
acacheung authored
202
afb9dae @ffmike add page on gem plugins
ffmike authored
203 ## PushSafety
204
205 [https://github.com/jdleesmiller/push_safety](https://github.com/jdleesmiller/push_safety)
206
207 Applies a whitelist to `gem push` to prevent accidentally pushing private gems to the public RubyGems repository.
208
209 <a id="rbenvrehash"> </a>
55b8773 @acacheung Fix heading links on plugins page
acacheung authored
210
2f8d31a @artmees Fix the link to rbenv-gem-rehash
artmees authored
211 ## rbenv-gem-rehash
afb9dae @ffmike add page on gem plugins
ffmike authored
212
2f8d31a @artmees Fix the link to rbenv-gem-rehash
artmees authored
213 [https://github.com/sstephenson/rbenv-gem-rehash](https://github.com/sstephenson/rbenv-gem-rehash)
afb9dae @ffmike add page on gem plugins
ffmike authored
214
215 Automatically runs `rbenv rehash` after installing or uninstalling gems.
216
217 <a id="rubygemsdesc"> </a>
55b8773 @acacheung Fix heading links on plugins page
acacheung authored
218
afb9dae @ffmike add page on gem plugins
ffmike authored
219 ## rubygems-desc
220
221 [https://github.com/chad/rubygems-desc](https://github.com/chad/rubygems-desc)
222
223 Adds `gem desc` to describe a gem by name.
224
f3395b1 Added rubygems-openpgp to the plugins list
Grant Olson authored
225 <a id="rubygemsopenpgp"> </a>
55b8773 @acacheung Fix heading links on plugins page
acacheung authored
226
f3395b1 Added rubygems-openpgp to the plugins list
Grant Olson authored
227 ## rubygems-openpgp
228
229 [https://github.com/grant-olson/rubygems-openpgp](https://github.com/grant-olson/rubygems-openpgp)
230
231 Adds commands and flags to allow OpenPGP signing of gems.
232
233 - `gem sign foo.gem` to sign a gem.
234 - `gem verify foo.gem --trust` to verify a gem.
235 - `gem build foo.gemspec --sign` to sign at build time.
236 - `gem install foo --verify --trust` to verify on install.
237
afb9dae @ffmike add page on gem plugins
ffmike authored
238 <a id="rubygemssandbox"> </a>
55b8773 @acacheung Fix heading links on plugins page
acacheung authored
239
afb9dae @ffmike add page on gem plugins
ffmike authored
240 ## rubygems-sandbox
241
242 [https://github.com/seattlerb/rubygems-sandbox](https://github.com/seattlerb/rubygems-sandbox)
243
244 Manages command-line gem tools and dependencies with a `gem sandbox` command. This lets you install things like flay and rdoc outside of the global rubygems repository.
245
246 <a id="rubygemssnapshot"> </a>
55b8773 @acacheung Fix heading links on plugins page
acacheung authored
247
afb9dae @ffmike add page on gem plugins
ffmike authored
248 ## rubygems_snapshot
249
250 [https://github.com/rogerleite/rubygems_snapshot](https://github.com/rogerleite/rubygems_snapshot)
251
b007567 @postmodern Added rubygems-tasks to plugins.md.
postmodern authored
252 Adds `gem snapshot` to create exports of all your current gems into a single file that you can import later.
253
254 <a id="rubygemstasks"> </a>
55b8773 @acacheung Fix heading links on plugins page
acacheung authored
255
b007567 @postmodern Added rubygems-tasks to plugins.md.
postmodern authored
256 ## rubygems-tasks
257
258 [https://github.com/postmodern/rubygems-tasks](https://github.com/postmodern/rubygems-tasks#readme)
259
260 rubygems-tasks provides agnostic and unobtrusive Rake tasks for building, installing and releasing Ruby Gems.
82dc38b @brianstorti add rubygems_plugin_generator to the plugins list
brianstorti authored
261
262 <a id="rubygemsplugingenerator"> </a>
263
264 ## rubygems_plugin_generator
265
266 [https://github.com/brianstorti/rubygems_plugin_generator](https://github.com/brianstorti/rubygems_plugin_generator)
267
268 `rubygems_plugin_generator` is a plugin that generates plugins. Just run `gem plugin <name>` and you are good to go.
Something went wrong with that request. Please try again.