1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
|
<!DOCTYPE html>
<html>
<head>
<title>Bundler: The best way to manage a Ruby application's gems</title>
<meta content='text/html; charset=UTF-8' http-equiv='Content-Type'>
<meta content='276VSYOko8B8vIu1i8i5qbj7_ql5PXo0dU69XQy-SL' name='globalsign-domain-verification'>
<link href='/images/favicon.png' rel='shortcut icon' type='image/png'>
<link href="/stylesheets/application.css" media="screen" rel="stylesheet" type="text/css" />
<link href="/stylesheets/sunburst.css" media="screen" rel="stylesheet" type="text/css" />
</head>
<body>
<div id='body'>
<div id='header'>
<a class="image" href="/"><img width="725" alt="The best way to manage your application's dependencies" src="/images/gembundler.png" /></a>
</div>
<div id='container'>
<div id='contents'>
<h2>Using Bundler with Rubygem gemspecs</h2>
<div class='contents'>
<div class='bullet'>
<div class='description'>
If you're creating a gem from scratch, you can use bundler's built in gem skeleton to create a base gem for you to edit.
</div>
<div class='how'>
<pre class='sunburst'>$ bundle gem my_gem</pre>
<div class='notes'>
This will create a new directory named <code>my_gem</code> with your new gem skeleton.
</div>
</div>
</div>
<div class='bullet'>
<div class='description'>
If you already have a gem with a gemspec, you can generate a Gemfile for your gem.
</div>
<pre class='sunburst'>$ bundle init</pre>
<div class='notes'>
Then, add the following to your new Gemfile
</div>
<pre class="sunburst">gemspec
</pre>
</div>
<div class='bullet'>
<div class='description'>
Runtime dependencies in your gemspec are treated like base dependencies, and development dependencies are added by default to the group, <code>:development</code>. You can change that group with the <code>:development_group</code> option
</div>
<pre class="sunburst">gemspec <span class="Constant"><span class="Constant">:</span>development_group</span> => <span class="Constant"><span class="Constant">:</span>dev</span>
</pre>
</div>
<div class='bullet'>
<div class='description'>
As well, you can point to a specific gemspec using <code>:path</code>. If your gemspec is in <code>/gemspec/path</code>, use
</div>
<pre class="sunburst">gemspec <span class="Constant"><span class="Constant">:</span>path</span> => <span class="String"><span class="String">'</span>/gemspec/path<span class="String">'</span></span>
</pre>
</div>
<div class='bullet'>
<div class='description'>
If you have multiple gemspecs in the same directory, specify which one you'd like to reference using <code>:name</code>
</div>
<pre class="sunburst">gemspec <span class="Constant"><span class="Constant">:</span>name</span> => <span class="String"><span class="String">'</span>my_awesome_gem<span class="String">'</span></span>
</pre>
<div class='notes'>
This will use <code>my_awesome_gem.gemspec</code>
</div>
</div>
<div class='bullet'>
<div class='description'>
That's it! Use bundler when developing your gem, and otherwise, use gemspecs normally!
</div>
<pre class='sunburst'>$ gem build my_gem.gemspec</pre>
</div>
</div>
</div>
</div>
</div>
<div id='footer'>
<img src="/images/emocow.png" />
<img src="/images/panda.jpg" />
<div class='spacer'></div>
<div id='credits'>
<p>
Many thanks to Bundler's <a href="/contributors.html">contributors</a>
and <a href="/sponsors.html">sponsors</a>
</p>
</div>
<div class='spacer'></div>
<img src="/images/bundler-small.png" />
</div>
<a href='http://github.com/bundler/bundler/' id='github'>
<img alt='Fork me on GitHub' src='http://s3.amazonaws.com/github/ribbons/forkme_right_darkblue_121621.png'>
</a>
<div id='prod-versions'>
Docs:
<a href="/v0.9/">v0.9</a>
<a href="/v1.0/">v1.0</a>
<a class="current" href="/v1.1/">v1.1</a>
<a href="/v1.2/">v1.2</a>
<a href="/v1.3/">v1.3</a>
<a href="/">v1.5</a>
</div>
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-39559982-1', 'bundler.io');
ga('send', 'pageview');
</script>
</body>
</html>
|