summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThe Bundler Bot <bot@bundler.io>2017-07-25 18:34:51 +0000
committerThe Bundler Bot <bot@bundler.io>2017-07-25 18:34:51 +0000
commit964f63deb46a1a1651de1ee897281a2843801709 (patch)
treedbd76d7f3d9a835d458cdd00a012db8635704492
parentf6d011de5dadec438c349d651fd8655dcf2001bc (diff)
parentef83bc3d3e597e3ad7687a1aa186412d7e156e80 (diff)
downloadbundler-964f63deb46a1a1651de1ee897281a2843801709.tar.gz
Auto merge of #5892 - arbonap:pa-gemfile-doc-changes, r=colby-swandale
Add more background explanations to bundle-install and gemfile docs Thanks so much for the contribution! To make reviewing this PR a bit easier, please fill out answers to the following questions. ### What was the end-user problem that led to this PR? The problem was... - I thought the `bundle-install` and `gemfile` docs could have more background explanations. ### What was your diagnosis of the problem? My diagnosis was... - Given more clarifying background information regarding some Ruby-specific domain knowledge, this can help those newer to the Ruby community. ♦️ ### What is your fix for the problem, implemented in this PR? My fix... - I gave a general overview of various Ruby implementations, and explained what git submodules and gemspecs are. ### Why did you choose this fix out of the possible options? I chose this fix because... - @rubymorillo and @indirect gave me the go-ahead to give more background information about these topics 👍🏽 - please let me know what y'all think, I'm happy to incorporate edits
-rw-r--r--man/gemfile.5.ronn31
1 files changed, 31 insertions, 0 deletions
diff --git a/man/gemfile.5.ronn b/man/gemfile.5.ronn
index dead032ced..9baa7f8e3e 100644
--- a/man/gemfile.5.ronn
+++ b/man/gemfile.5.ronn
@@ -69,6 +69,22 @@ the Ruby version that the engine is compatible with.
Each application _may_ specify a Ruby engine. If an engine is specified, an
engine version _must_ also be specified.
+What exactly is an Engine?
+ - A Ruby engine is an implementation of the Ruby language.
+
+ - For background: the reference or original implementation of the Ruby
+ programming language is called
+ [Matz's Ruby Interpreter](https://en.wikipedia.org/wiki/Ruby_MRI), or MRI
+ for short. This is named after Ruby creator Yukihiro Matsumoto,
+ also known as Matz. MRI is also known as CRuby, because it is written in C.
+ MRI is the most widely used Ruby engine.
+
+ - [Other implementations](https://www.ruby-lang.org/en/about/) of Ruby exist.
+ Some of the more well-known implementations include
+ [Rubinius](https://rubinius.com/), and [JRuby](http://jruby.org/).
+ Rubinius is an alternative implementation of Ruby written in Ruby.
+ JRuby is an implementation of Ruby on the JVM, short for Java Virtual Machine.
+
### ENGINE VERSION
Each application _may_ specify a Ruby engine version. If an engine version is
@@ -287,7 +303,17 @@ Git repositories support a number of additional options.
* `branch`, `tag`, and `ref`:
You `MUST` only specify at most one of these options. The default
is `:branch => "master"`
+ * For example:
+
+ git "https://github.com/rails/rails.git", :branch => "5-0-stable" do
+
+ git "https://github.com/rails/rails.git", :tag => "v5.0.0" do
+
+ git "https://github.com/rails/rails.git", :ref => "4aded" do
+
* `submodules`:
+ For reference, a [git submodule](https://git-scm.com/book/en/v2/Git-Tools-Submodules)
+ lets you have another git repository within a subfolder of your repository.
Specify `:submodules => true` to cause bundler to expand any
submodules included in the git repository
@@ -439,6 +465,11 @@ software is installed or some other conditions are met.
## GEMSPEC
+The [.gemspec](http://guides.rubygems.org/specification-reference/) file is where
+ you provide metadata about your gem to Rubygems. Some required Gemspec
+ attributes include the name, description, and homepage of your gem. This is
+ also where you specify the dependencies your gem needs to run.
+
If you wish to use Bundler to help install dependencies for a gem while it is
being developed, use the `gemspec` method to pull in the dependencies listed in
the `.gemspec` file.