Challenge 1: Write a Gemfile — Solution # Gemfile source "https://rubygems.org" gem "rspec", "~> 3.12" gem "rake" gem "my_project_utils", path: "../my_project_utils" =begin Notes: - source "https://rubygems.org" tells Bundler which registry to resolve gems from — required at the top of nearly every real Gemfile. - gem "rspec", "~> 3.12" uses the pessimistic version constraint from the chapter: any 3.12.x patch release is acceptable, but Bundler will never automatically jump to 3.13 or later. - gem "rake" with no version constraint accepts any available version, which is fine for a tool where breaking changes are rare and not a major concern for this project. - gem "my_project_utils", path: "../my_project_utils" points Bundler at a local directory instead of RubyGems.org entirely — useful during development of a companion library that hasn't been published yet, or never will be (an internal-only utility gem, for example). - Running `bundle install` against this Gemfile would generate a Gemfile.lock pinning exact resolved versions for rspec and rake, while my_project_utils is tracked by its local path instead of a version number. =end