bundler 2.3.17 → 2.3.20

Sign up to get free protection for your applications and to get access to all the features.
Files changed (70) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +76 -0
  3. data/lib/bundler/build_metadata.rb +2 -2
  4. data/lib/bundler/cli/common.rb +1 -0
  5. data/lib/bundler/cli/install.rb +5 -2
  6. data/lib/bundler/cli/outdated.rb +12 -3
  7. data/lib/bundler/cli/platform.rb +1 -1
  8. data/lib/bundler/cli.rb +5 -3
  9. data/lib/bundler/compact_index_client/updater.rb +16 -3
  10. data/lib/bundler/definition.rb +111 -28
  11. data/lib/bundler/dependency.rb +2 -1
  12. data/lib/bundler/dsl.rb +3 -3
  13. data/lib/bundler/fetcher.rb +6 -6
  14. data/lib/bundler/gem_helpers.rb +8 -1
  15. data/lib/bundler/incomplete_specification.rb +12 -0
  16. data/lib/bundler/index.rb +10 -12
  17. data/lib/bundler/installer/standalone.rb +1 -1
  18. data/lib/bundler/installer.rb +8 -1
  19. data/lib/bundler/lazy_specification.rb +30 -21
  20. data/lib/bundler/lockfile_parser.rb +4 -0
  21. data/lib/bundler/man/bundle-add.1 +1 -1
  22. data/lib/bundler/man/bundle-binstubs.1 +1 -1
  23. data/lib/bundler/man/bundle-cache.1 +7 -1
  24. data/lib/bundler/man/bundle-cache.1.ronn +7 -0
  25. data/lib/bundler/man/bundle-check.1 +1 -1
  26. data/lib/bundler/man/bundle-clean.1 +1 -1
  27. data/lib/bundler/man/bundle-config.1 +15 -5
  28. data/lib/bundler/man/bundle-config.1.ronn +12 -5
  29. data/lib/bundler/man/bundle-doctor.1 +1 -1
  30. data/lib/bundler/man/bundle-exec.1 +2 -2
  31. data/lib/bundler/man/bundle-exec.1.ronn +1 -1
  32. data/lib/bundler/man/bundle-gem.1 +1 -1
  33. data/lib/bundler/man/bundle-info.1 +1 -1
  34. data/lib/bundler/man/bundle-init.1 +1 -1
  35. data/lib/bundler/man/bundle-inject.1 +5 -2
  36. data/lib/bundler/man/bundle-inject.1.ronn +3 -1
  37. data/lib/bundler/man/bundle-install.1 +5 -1
  38. data/lib/bundler/man/bundle-install.1.ronn +6 -0
  39. data/lib/bundler/man/bundle-list.1 +1 -1
  40. data/lib/bundler/man/bundle-lock.1 +1 -1
  41. data/lib/bundler/man/bundle-open.1 +1 -1
  42. data/lib/bundler/man/bundle-outdated.1 +1 -1
  43. data/lib/bundler/man/bundle-platform.1 +16 -6
  44. data/lib/bundler/man/bundle-platform.1.ronn +14 -7
  45. data/lib/bundler/man/bundle-pristine.1 +1 -1
  46. data/lib/bundler/man/bundle-remove.1 +1 -1
  47. data/lib/bundler/man/bundle-show.1 +1 -1
  48. data/lib/bundler/man/bundle-update.1 +1 -1
  49. data/lib/bundler/man/bundle-viz.1 +4 -1
  50. data/lib/bundler/man/bundle-viz.1.ronn +2 -0
  51. data/lib/bundler/man/bundle.1 +6 -9
  52. data/lib/bundler/man/bundle.1.ronn +5 -6
  53. data/lib/bundler/man/gemfile.5 +77 -47
  54. data/lib/bundler/man/gemfile.5.ronn +75 -54
  55. data/lib/bundler/remote_specification.rb +5 -4
  56. data/lib/bundler/resolver/spec_group.rb +5 -4
  57. data/lib/bundler/resolver.rb +10 -7
  58. data/lib/bundler/ruby_dsl.rb +1 -1
  59. data/lib/bundler/ruby_version.rb +5 -5
  60. data/lib/bundler/rubygems_ext.rb +13 -0
  61. data/lib/bundler/rubygems_gem_installer.rb +19 -12
  62. data/lib/bundler/runtime.rb +0 -1
  63. data/lib/bundler/settings.rb +1 -0
  64. data/lib/bundler/source/metadata.rb +1 -1
  65. data/lib/bundler/source/rubygems.rb +12 -6
  66. data/lib/bundler/source_list.rb +4 -0
  67. data/lib/bundler/spec_set.rb +26 -31
  68. data/lib/bundler/version.rb +1 -1
  69. data/lib/bundler.rb +1 -0
  70. metadata +4 -3
@@ -7,36 +7,43 @@ bundle-platform(1) -- Displays platform compatibility information
7
7
 
8
8
  ## DESCRIPTION
9
9
 
10
- `platform` will display information from your Gemfile, Gemfile.lock, and Ruby
10
+ `platform` displays information from your Gemfile, Gemfile.lock, and Ruby
11
11
  VM about your platform.
12
12
 
13
13
  For instance, using this Gemfile(5):
14
14
 
15
15
  source "https://rubygems.org"
16
16
 
17
- ruby "1.9.3"
17
+ ruby "3.1.2"
18
18
 
19
19
  gem "rack"
20
20
 
21
- If you run `bundle platform` on Ruby 1.9.3, it will display the following output:
21
+ If you run `bundle platform` on Ruby 3.1.2, it displays the following output:
22
22
 
23
23
  Your platform is: x86_64-linux
24
24
 
25
25
  Your app has gems that work on these platforms:
26
+ * arm64-darwin-21
26
27
  * ruby
28
+ * x64-mingw-ucrt
29
+ * x86_64-linux
27
30
 
28
31
  Your Gemfile specifies a Ruby version requirement:
29
- * ruby 1.9.3
32
+ * ruby 3.1.2
30
33
 
31
34
  Your current platform satisfies the Ruby version requirement.
32
35
 
33
- `platform` will list all the platforms in your `Gemfile.lock` as well as the
34
- `ruby` directive if applicable from your Gemfile(5). It will also let you know
36
+ `platform` lists all the platforms in your `Gemfile.lock` as well as the
37
+ `ruby` directive if applicable from your Gemfile(5). It also lets you know
35
38
  if the `ruby` directive requirement has been met. If `ruby` directive doesn't
36
- match the running Ruby VM, it will tell you what part does not.
39
+ match the running Ruby VM, it tells you what part does not.
37
40
 
38
41
  ## OPTIONS
39
42
 
40
43
  * `--ruby`:
41
44
  It will display the ruby directive information, so you don't have to
42
45
  parse it from the Gemfile(5).
46
+
47
+ ## SEE ALSO
48
+
49
+ * [bundle-lock(1)](bundle-lock.1.ronn)
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "BUNDLE\-PRISTINE" "1" "May 2022" "" ""
4
+ .TH "BUNDLE\-PRISTINE" "1" "July 2022" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-pristine\fR \- Restores installed gems to their pristine condition
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "BUNDLE\-REMOVE" "1" "May 2022" "" ""
4
+ .TH "BUNDLE\-REMOVE" "1" "July 2022" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-remove\fR \- Removes gems from the Gemfile
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "BUNDLE\-SHOW" "1" "May 2022" "" ""
4
+ .TH "BUNDLE\-SHOW" "1" "July 2022" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-show\fR \- Shows all the gems in your bundle, or the path to a gem
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "BUNDLE\-UPDATE" "1" "May 2022" "" ""
4
+ .TH "BUNDLE\-UPDATE" "1" "July 2022" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-update\fR \- Update your gems to the latest available versions
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "BUNDLE\-VIZ" "1" "May 2022" "" ""
4
+ .TH "BUNDLE\-VIZ" "1" "July 2022" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-viz\fR \- Generates a visual dependency graph for your Gemfile
@@ -15,6 +15,9 @@
15
15
  .P
16
16
  The associated gems must also be installed via \fBbundle install(1)\fR \fIbundle\-install\.1\.html\fR\.
17
17
  .
18
+ .P
19
+ \fBviz\fR command was deprecated in Bundler 2\.2\. Use bundler\-graph plugin \fIhttps://github\.com/rubygems/bundler\-graph\fR instead\.
20
+ .
18
21
  .SH "OPTIONS"
19
22
  .
20
23
  .TP
@@ -16,6 +16,8 @@ bundle-viz(1) -- Generates a visual dependency graph for your Gemfile
16
16
 
17
17
  The associated gems must also be installed via [`bundle install(1)`](bundle-install.1.html).
18
18
 
19
+ `viz` command was deprecated in Bundler 2.2. Use [bundler-graph plugin](https://github.com/rubygems/bundler-graph) instead.
20
+
19
21
  ## OPTIONS
20
22
 
21
23
  * `--file`, `-f`:
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "BUNDLE" "1" "May 2022" "" ""
4
+ .TH "BUNDLE" "1" "July 2022" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\fR \- Ruby Dependency Management
@@ -43,8 +43,8 @@ Install the gems specified by the \fBGemfile\fR or \fBGemfile\.lock\fR
43
43
  Update dependencies to their latest versions
44
44
  .
45
45
  .TP
46
- \fBbundle package(1)\fR \fIbundle\-package\.1\.html\fR
47
- Package the \.gem files required by your application into the \fBvendor/cache\fR directory
46
+ \fBbundle cache(1)\fR \fIbundle\-cache\.1\.html\fR
47
+ Package the \.gem files required by your application into the \fBvendor/cache\fR directory (aliases: \fBbundle package\fR, \fBbundle pack\fR)
48
48
  .
49
49
  .TP
50
50
  \fBbundle exec(1)\fR \fIbundle\-exec\.1\.html\fR
@@ -81,7 +81,7 @@ Show the source location of a particular gem in the bundle
81
81
  Show all of the outdated gems in the current bundle
82
82
  .
83
83
  .TP
84
- \fBbundle console(1)\fR
84
+ \fBbundle console(1)\fR (deprecated)
85
85
  Start an IRB session in the current bundle
86
86
  .
87
87
  .TP
@@ -93,7 +93,7 @@ Open an installed gem in the editor
93
93
  Generate a lockfile for your dependencies
94
94
  .
95
95
  .TP
96
- \fBbundle viz(1)\fR \fIbundle\-viz\.1\.html\fR
96
+ \fBbundle viz(1)\fR \fIbundle\-viz\.1\.html\fR (deprecated)
97
97
  Generate a visual representation of your dependencies
98
98
  .
99
99
  .TP
@@ -127,10 +127,7 @@ When running a command that isn\'t listed in PRIMARY COMMANDS or UTILITIES, Bund
127
127
  These commands are obsolete and should no longer be used:
128
128
  .
129
129
  .IP "\(bu" 4
130
- \fBbundle cache(1)\fR
131
- .
132
- .IP "\(bu" 4
133
- \fBbundle show(1)\fR
130
+ \fBbundle inject(1)\fR
134
131
  .
135
132
  .IP "" 0
136
133
 
@@ -36,9 +36,9 @@ We divide `bundle` subcommands into primary commands and utilities:
36
36
  * [`bundle update(1)`](bundle-update.1.html):
37
37
  Update dependencies to their latest versions
38
38
 
39
- * [`bundle package(1)`](bundle-package.1.html):
39
+ * [`bundle cache(1)`](bundle-cache.1.html):
40
40
  Package the .gem files required by your application into the
41
- `vendor/cache` directory
41
+ `vendor/cache` directory (aliases: `bundle package`, `bundle pack`)
42
42
 
43
43
  * [`bundle exec(1)`](bundle-exec.1.html):
44
44
  Execute a script in the current bundle
@@ -67,7 +67,7 @@ We divide `bundle` subcommands into primary commands and utilities:
67
67
  * [`bundle outdated(1)`](bundle-outdated.1.html):
68
68
  Show all of the outdated gems in the current bundle
69
69
 
70
- * `bundle console(1)`:
70
+ * `bundle console(1)` (deprecated):
71
71
  Start an IRB session in the current bundle
72
72
 
73
73
  * [`bundle open(1)`](bundle-open.1.html):
@@ -76,7 +76,7 @@ We divide `bundle` subcommands into primary commands and utilities:
76
76
  * [`bundle lock(1)`](bundle-lock.1.html):
77
77
  Generate a lockfile for your dependencies
78
78
 
79
- * [`bundle viz(1)`](bundle-viz.1.html):
79
+ * [`bundle viz(1)`](bundle-viz.1.html) (deprecated):
80
80
  Generate a visual representation of your dependencies
81
81
 
82
82
  * [`bundle init(1)`](bundle-init.1.html):
@@ -107,5 +107,4 @@ and execute it, passing down any extra arguments to it.
107
107
 
108
108
  These commands are obsolete and should no longer be used:
109
109
 
110
- * `bundle cache(1)`
111
- * `bundle show(1)`
110
+ * `bundle inject(1)`
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "GEMFILE" "5" "May 2022" "" ""
4
+ .TH "GEMFILE" "5" "July 2022" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBGemfile\fR \- A format for describing gem dependencies for Ruby programs
@@ -15,8 +15,8 @@ Place the \fBGemfile\fR in the root of the directory containing the associated c
15
15
  .SH "SYNTAX"
16
16
  A \fBGemfile\fR is evaluated as Ruby code, in a context which makes available a number of methods used to describe the gem requirements\.
17
17
  .
18
- .SH "GLOBAL SOURCES"
19
- At the top of the \fBGemfile\fR, add a line for the \fBRubygems\fR source that contains the gems listed in the \fBGemfile\fR\.
18
+ .SH "GLOBAL SOURCE"
19
+ At the top of the \fBGemfile\fR, add a single line for the \fBRubyGems\fR source that contains the gems listed in the \fBGemfile\fR\.
20
20
  .
21
21
  .IP "" 4
22
22
  .
@@ -29,10 +29,16 @@ source "https://rubygems\.org"
29
29
  .IP "" 0
30
30
  .
31
31
  .P
32
- It is possible, but not recommended as of Bundler 1\.7, to add multiple global \fBsource\fR lines\. Each of these \fBsource\fRs \fBMUST\fR be a valid Rubygems repository\.
32
+ You can add only one global source\. In Bundler 1\.13, adding multiple global sources was deprecated\. The \fBsource\fR \fBMUST\fR be a valid RubyGems repository\.
33
33
  .
34
34
  .P
35
- Sources are checked for gems following the heuristics described in \fISOURCE PRIORITY\fR\. If a gem is found in more than one global source, Bundler will print a warning after installing the gem indicating which source was used, and listing the other sources where the gem is available\. A specific source can be selected for gems that need to use a non\-standard repository, suppressing this warning, by using the \fI\fB:source\fR option\fR or a \fI\fBsource\fR block\fR\.
35
+ To use more than one source of RubyGems, you should use \fI\fBsource\fR block\fR\.
36
+ .
37
+ .P
38
+ A source is checked for gems following the heuristics described in \fISOURCE PRIORITY\fR\.
39
+ .
40
+ .P
41
+ \fBNote about a behavior of the feature deprecated in Bundler 1\.13\fR: If a gem is found in more than one global source, Bundler will print a warning after installing the gem indicating which source was used, and listing the other sources where the gem is available\. A specific source can be selected for gems that need to use a non\-standard repository, suppressing this warning, by using the \fI\fB:source\fR option\fR or \fBsource\fR block\.
36
42
  .
37
43
  .SS "CREDENTIALS"
38
44
  Some gem sources require a username and password\. Use bundle config(1) \fIbundle\-config\.1\.html\fR to set the username and password for any of the sources that need it\. The command must be run once on each computer that will install the Gemfile, but this keeps the credentials from being stored in plain text in version control\.
@@ -100,7 +106,7 @@ Each application \fImay\fR specify a Ruby engine version\. If an engine version
100
106
  .
101
107
  .nf
102
108
 
103
- ruby "1\.8\.7", :engine => "jruby", :engine_version => "1\.6\.7"
109
+ ruby "1\.8\.7", engine: "jruby", engine_version: "1\.6\.7"
104
110
  .
105
111
  .fi
106
112
  .
@@ -113,7 +119,7 @@ Each application \fImay\fR specify a Ruby patchlevel\.
113
119
  .
114
120
  .nf
115
121
 
116
- ruby "2\.0\.0", :patchlevel => "247"
122
+ ruby "2\.0\.0", patchlevel: "247"
117
123
  .
118
124
  .fi
119
125
  .
@@ -156,9 +162,9 @@ Each \fIgem\fR \fBMAY\fR specify files that should be used when autorequiring vi
156
162
  .
157
163
  .nf
158
164
 
159
- gem "redis", :require => ["redis/connection/hiredis", "redis"]
160
- gem "webmock", :require => false
161
- gem "byebug", :require => true
165
+ gem "redis", require: ["redis/connection/hiredis", "redis"]
166
+ gem "webmock", require: false
167
+ gem "byebug", require: true
162
168
  .
163
169
  .fi
164
170
  .
@@ -172,8 +178,8 @@ The argument defaults to the name of the gem\. For example, these are identical:
172
178
  .nf
173
179
 
174
180
  gem "nokogiri"
175
- gem "nokogiri", :require => "nokogiri"
176
- gem "nokogiri", :require => true
181
+ gem "nokogiri", require: "nokogiri"
182
+ gem "nokogiri", require: true
177
183
  .
178
184
  .fi
179
185
  .
@@ -186,8 +192,8 @@ Each \fIgem\fR \fBMAY\fR specify membership in one or more groups\. Any \fIgem\f
186
192
  .
187
193
  .nf
188
194
 
189
- gem "rspec", :group => :test
190
- gem "wirble", :groups => [:development, :test]
195
+ gem "rspec", group: :test
196
+ gem "wirble", groups: [:development, :test]
191
197
  .
192
198
  .fi
193
199
  .
@@ -320,9 +326,9 @@ As with groups, you can specify one or more platforms:
320
326
  .
321
327
  .nf
322
328
 
323
- gem "weakling", :platforms => :jruby
324
- gem "ruby\-debug", :platforms => :mri_18
325
- gem "nokogiri", :platforms => [:mri_18, :jruby]
329
+ gem "weakling", platforms: :jruby
330
+ gem "ruby\-debug", platforms: :mri_18
331
+ gem "nokogiri", platforms: [:mri_18, :jruby]
326
332
  .
327
333
  .fi
328
334
  .
@@ -331,27 +337,51 @@ gem "nokogiri", :platforms => [:mri_18, :jruby]
331
337
  .P
332
338
  All operations involving groups (\fBbundle install\fR \fIbundle\-install\.1\.html\fR, \fBBundler\.setup\fR, \fBBundler\.require\fR) behave exactly the same as if any groups not matching the current platform were explicitly excluded\.
333
339
  .
340
+ .SS "FORCE_RUBY_PLATFORM"
341
+ If you always want the pure ruby variant of a gem to be chosen over platform specific variants, you can use the \fBforce_ruby_platform\fR option:
342
+ .
343
+ .IP "" 4
344
+ .
345
+ .nf
346
+
347
+ gem "ffi", force_ruby_platform: true
348
+ .
349
+ .fi
350
+ .
351
+ .IP "" 0
352
+ .
353
+ .P
354
+ This can be handy (assuming the pure ruby variant works fine) when:
355
+ .
356
+ .IP "\(bu" 4
357
+ You\'re having issues with the platform specific variant\.
358
+ .
359
+ .IP "\(bu" 4
360
+ The platform specific variant does not yet support a newer ruby (and thus has a \fBrequired_ruby_version\fR upper bound), but you still want your Gemfile{\.lock} files to resolve under that ruby\.
361
+ .
362
+ .IP "" 0
363
+ .
334
364
  .SS "SOURCE"
335
- You can select an alternate Rubygems repository for a gem using the \':source\' option\.
365
+ You can select an alternate RubyGems repository for a gem using the \':source\' option\.
336
366
  .
337
367
  .IP "" 4
338
368
  .
339
369
  .nf
340
370
 
341
- gem "some_internal_gem", :source => "https://gems\.example\.com"
371
+ gem "some_internal_gem", source: "https://gems\.example\.com"
342
372
  .
343
373
  .fi
344
374
  .
345
375
  .IP "" 0
346
376
  .
347
377
  .P
348
- This forces the gem to be loaded from this source and ignores any global sources declared at the top level of the file\. If the gem does not exist in this source, it will not be installed\.
378
+ This forces the gem to be loaded from this source and ignores the global source declared at the top level of the file\. If the gem does not exist in this source, it will not be installed\.
349
379
  .
350
380
  .P
351
- Bundler will search for child dependencies of this gem by first looking in the source selected for the parent, but if they are not found there, it will fall back on global sources using the ordering described in \fISOURCE PRIORITY\fR\.
381
+ Bundler will search for child dependencies of this gem by first looking in the source selected for the parent, but if they are not found there, it will fall back on the global source\.
352
382
  .
353
383
  .P
354
- Selecting a specific source repository this way also suppresses the ambiguous gem warning described above in \fIGLOBAL SOURCES (#source)\fR\.
384
+ \fBNote about a behavior of the feature deprecated in Bundler 1\.13\fR: Selecting a specific source repository this way also suppresses the ambiguous gem warning described above in \fIGLOBAL SOURCE\fR\.
355
385
  .
356
386
  .P
357
387
  Using the \fB:source\fR option for an individual gem will also make that source available as a possible global source for any other gems which do not specify explicit sources\. Thus, when adding gems with explicit sources, it is recommended that you also ensure all other gems in the Gemfile are using explicit sources\.
@@ -361,15 +391,15 @@ If necessary, you can specify that a gem is located at a particular git reposito
361
391
  .
362
392
  .TP
363
393
  \fBHTTP(S)\fR
364
- gem "rails", :git => "https://github\.com/rails/rails\.git"
394
+ gem "rails", git: "https://github\.com/rails/rails\.git"
365
395
  .
366
396
  .TP
367
397
  \fBSSH\fR
368
- gem "rails", :git => "git@github\.com:rails/rails\.git"
398
+ gem "rails", git: "git@github\.com:rails/rails\.git"
369
399
  .
370
400
  .TP
371
401
  \fBgit\fR
372
- gem "rails", :git => "git://github\.com/rails/rails\.git"
402
+ gem "rails", git: "git://github\.com/rails/rails\.git"
373
403
  .
374
404
  .P
375
405
  If using SSH, the user that you use to run \fBbundle install\fR \fBMUST\fR have the appropriate keys available in their \fB$HOME/\.ssh\fR\.
@@ -393,7 +423,7 @@ If a git repository does have a \fB\.gemspec\fR for the gem you attached it to,
393
423
  .
394
424
  .nf
395
425
 
396
- gem "rails", "2\.3\.8", :git => "https://github\.com/rails/rails\.git"
426
+ gem "rails", "2\.3\.8", git: "https://github\.com/rails/rails\.git"
397
427
  # bundle install will fail, because the \.gemspec in the rails
398
428
  # repository\'s master branch specifies version 3\.0\.0
399
429
  .
@@ -409,20 +439,20 @@ Git repositories support a number of additional options\.
409
439
  .
410
440
  .TP
411
441
  \fBbranch\fR, \fBtag\fR, and \fBref\fR
412
- You \fBMUST\fR only specify at most one of these options\. The default is \fB:branch => "master"\fR\. For example:
442
+ You \fBMUST\fR only specify at most one of these options\. The default is \fBbranch: "master"\fR\. For example:
413
443
  .
414
444
  .IP
415
- gem "rails", :git => "https://github\.com/rails/rails\.git", :branch => "5\-0\-stable"
445
+ gem "rails", git: "https://github\.com/rails/rails\.git", branch: "5\-0\-stable"
416
446
  .
417
447
  .IP
418
- gem "rails", :git => "https://github\.com/rails/rails\.git", :tag => "v5\.0\.0"
448
+ gem "rails", git: "https://github\.com/rails/rails\.git", tag: "v5\.0\.0"
419
449
  .
420
450
  .IP
421
- gem "rails", :git => "https://github\.com/rails/rails\.git", :ref => "4aded"
451
+ gem "rails", git: "https://github\.com/rails/rails\.git", ref: "4aded"
422
452
  .
423
453
  .TP
424
454
  \fBsubmodules\fR
425
- For reference, a git submodule \fIhttps://git\-scm\.com/book/en/v2/Git\-Tools\-Submodules\fR lets you have another git repository within a subfolder of your repository\. Specify \fB:submodules => true\fR to cause bundler to expand any submodules included in the git repository
455
+ For reference, a git submodule \fIhttps://git\-scm\.com/book/en/v2/Git\-Tools\-Submodules\fR lets you have another git repository within a subfolder of your repository\. Specify \fBsubmodules: true\fR to cause bundler to expand any submodules included in the git repository
426
456
  .
427
457
  .P
428
458
  If a git repository contains multiple \fB\.gemspecs\fR, each \fB\.gemspec\fR represents a gem located at the same place in the file system as the \fB\.gemspec\fR\.
@@ -454,7 +484,7 @@ A custom git source can be defined via the \fBgit_source\fR method\. Provide the
454
484
  .nf
455
485
 
456
486
  git_source(:stash){ |repo_name| "https://stash\.corp\.acme\.pl/#{repo_name}\.git" }
457
- gem \'rails\', :stash => \'forks/rails\'
487
+ gem \'rails\', stash: \'forks/rails\'
458
488
  .
459
489
  .fi
460
490
  .
@@ -467,7 +497,7 @@ In addition, if you wish to choose a specific branch:
467
497
  .
468
498
  .nf
469
499
 
470
- gem "rails", :stash => "forks/rails", :branch => "branch_name"
500
+ gem "rails", stash: "forks/rails", branch: "branch_name"
471
501
  .
472
502
  .fi
473
503
  .
@@ -483,8 +513,8 @@ If the git repository you want to use is hosted on GitHub and is public, you can
483
513
  .
484
514
  .nf
485
515
 
486
- gem "rails", :github => "rails/rails"
487
- gem "rails", :github => "rails"
516
+ gem "rails", github: "rails/rails"
517
+ gem "rails", github: "rails"
488
518
  .
489
519
  .fi
490
520
  .
@@ -497,7 +527,7 @@ Are both equivalent to
497
527
  .
498
528
  .nf
499
529
 
500
- gem "rails", :git => "git://github\.com/rails/rails\.git"
530
+ gem "rails", git: "git://github\.com/rails/rails\.git"
501
531
  .
502
532
  .fi
503
533
  .
@@ -513,7 +543,7 @@ You can also directly pass a pull request URL:
513
543
  .
514
544
  .nf
515
545
 
516
- gem "rails", :github => "https://github\.com/rails/rails/pull/43753"
546
+ gem "rails", github: "https://github\.com/rails/rails/pull/43753"
517
547
  .
518
548
  .fi
519
549
  .
@@ -526,7 +556,7 @@ Which is equivalent to:
526
556
  .
527
557
  .nf
528
558
 
529
- gem "rails", :github => "rails/rails", branch: "refs/pull/43753/head"
559
+ gem "rails", github: "rails/rails", branch: "refs/pull/43753/head"
530
560
  .
531
561
  .fi
532
562
  .
@@ -539,7 +569,7 @@ If the git repository you want to use is hosted as a GitHub Gist and is public,
539
569
  .
540
570
  .nf
541
571
 
542
- gem "the_hatch", :gist => "4815162342"
572
+ gem "the_hatch", gist: "4815162342"
543
573
  .
544
574
  .fi
545
575
  .
@@ -552,7 +582,7 @@ Is equivalent to:
552
582
  .
553
583
  .nf
554
584
 
555
- gem "the_hatch", :git => "https://gist\.github\.com/4815162342\.git"
585
+ gem "the_hatch", git: "https://gist\.github\.com/4815162342\.git"
556
586
  .
557
587
  .fi
558
588
  .
@@ -568,8 +598,8 @@ If the git repository you want to use is hosted on Bitbucket and is public, you
568
598
  .
569
599
  .nf
570
600
 
571
- gem "rails", :bitbucket => "rails/rails"
572
- gem "rails", :bitbucket => "rails"
601
+ gem "rails", bitbucket: "rails/rails"
602
+ gem "rails", bitbucket: "rails"
573
603
  .
574
604
  .fi
575
605
  .
@@ -582,7 +612,7 @@ Are both equivalent to
582
612
  .
583
613
  .nf
584
614
 
585
- gem "rails", :git => "https://rails@bitbucket\.org/rails/rails\.git"
615
+ gem "rails", git: "https://rails@bitbucket\.org/rails/rails\.git"
586
616
  .
587
617
  .fi
588
618
  .
@@ -604,7 +634,7 @@ Unlike \fB:git\fR, bundler does not compile C extensions for gems specified as p
604
634
  .
605
635
  .nf
606
636
 
607
- gem "rails", :path => "vendor/rails"
637
+ gem "rails", path: "vendor/rails"
608
638
  .
609
639
  .fi
610
640
  .
@@ -648,7 +678,7 @@ platforms :ruby do
648
678
  gem "sqlite3"
649
679
  end
650
680
 
651
- group :development, :optional => true do
681
+ group :development, optional: true do
652
682
  gem "wirble"
653
683
  gem "faker"
654
684
  end
@@ -688,7 +718,7 @@ The \fB\.gemspec\fR \fIhttp://guides\.rubygems\.org/specification\-reference/\fR
688
718
  If you wish to use Bundler to help install dependencies for a gem while it is being developed, use the \fBgemspec\fR method to pull in the dependencies listed in the \fB\.gemspec\fR file\.
689
719
  .
690
720
  .P
691
- The \fBgemspec\fR method adds any runtime dependencies as gem requirements in the default group\. It also adds development dependencies as gem requirements in the \fBdevelopment\fR group\. Finally, it adds a gem requirement on your project (\fB:path => \'\.\'\fR)\. In conjunction with \fBBundler\.setup\fR, this allows you to require project files in your test code as you would if the project were installed as a gem; you need not manipulate the load path manually or require project files via relative paths\.
721
+ The \fBgemspec\fR method adds any runtime dependencies as gem requirements in the default group\. It also adds development dependencies as gem requirements in the \fBdevelopment\fR group\. Finally, it adds a gem requirement on your project (\fBpath: \'\.\'\fR)\. In conjunction with \fBBundler\.setup\fR, this allows you to require project files in your test code as you would if the project were installed as a gem; you need not manipulate the load path manually or require project files via relative paths\.
692
722
  .
693
723
  .P
694
724
  The \fBgemspec\fR method supports optional \fB:path\fR, \fB:glob\fR, \fB:name\fR, and \fB:development_group\fR options, which control where bundler looks for the \fB\.gemspec\fR, the glob it uses to look for the gemspec (defaults to: "{,\fI,\fR/*}\.gemspec"), what named \fB\.gemspec\fR it uses (if more than one is present), and which group development dependencies are included in\.
@@ -706,7 +736,7 @@ The source explicitly attached to the gem (using \fB:source\fR, \fB:path\fR, or
706
736
  For implicit gems (dependencies of explicit gems), any source, git, or path repository declared on the parent\. This results in bundler prioritizing the ActiveSupport gem from the Rails git repository over ones from \fBrubygems\.org\fR
707
737
  .
708
738
  .IP "3." 4
709
- The sources specified via global \fBsource\fR lines, searching each source in your \fBGemfile\fR from last added to first added\.
739
+ If neither of the above conditions are met, the global source will be used\. If multiple global sources are specified, they will be prioritized from last to first, but this is deprecated since Bundler 1\.13, so Bundler prints a warning and will abort with an error in the future\.
710
740
  .
711
741
  .IP "" 0
712
742