diff options
author | Samuel Giddins <segiddins@segiddins.me> | 2016-11-29 19:17:06 -0600 |
---|---|---|
committer | Samuel Giddins <segiddins@segiddins.me> | 2016-11-30 09:04:48 -0600 |
commit | e64bbab4830b3b6ef3cb7105165b923b163fab3d (patch) | |
tree | 51f27b5613f8cff0f8d5fcb7495d592c5b7a64ae | |
parent | b567a9130b38ea1c65c93eef879edd54ae386596 (diff) | |
download | bundler-e64bbab4830b3b6ef3cb7105165b923b163fab3d.tar.gz |
[Env] Print as GFM
-rw-r--r-- | lib/bundler/env.rb | 45 | ||||
-rw-r--r-- | spec/bundler/env_spec.rb | 6 |
2 files changed, 28 insertions, 23 deletions
diff --git a/lib/bundler/env.rb b/lib/bundler/env.rb index f7c6f7e83d..8eea663bfa 100644 --- a/lib/bundler/env.rb +++ b/lib/bundler/env.rb @@ -12,44 +12,49 @@ module Bundler print_gemfile = options.delete(:print_gemfile) print_gemspecs = options.delete(:print_gemspecs) - out = String.new("Environment\n\n") - out << " Bundler #{Bundler::VERSION}\n" - out << " Rubygems #{Gem::VERSION}\n" - out << " Ruby #{ruby_version}" - out << " GEM_HOME #{ENV["GEM_HOME"]}\n" unless ENV["GEM_HOME"].nil? || ENV["GEM_HOME"].empty? - out << " GEM_PATH #{ENV["GEM_PATH"]}\n" unless ENV["GEM_PATH"] == ENV["GEM_HOME"] - out << " RVM #{ENV["rvm_version"]}\n" if ENV["rvm_version"] - out << " Git #{git_version}\n" - out << " Platform #{Gem::Platform.local}\n" - out << " OpenSSL #{OpenSSL::OPENSSL_VERSION}\n" if defined?(OpenSSL::OPENSSL_VERSION) + out = String.new("## Environment\n\n```\n") + out << "Bundler #{Bundler::VERSION}\n" + out << "Rubygems #{Gem::VERSION}\n" + out << "Ruby #{ruby_version}" + out << "GEM_HOME #{ENV["GEM_HOME"]}\n" unless ENV["GEM_HOME"].nil? || ENV["GEM_HOME"].empty? + out << "GEM_PATH #{ENV["GEM_PATH"]}\n" unless ENV["GEM_PATH"] == ENV["GEM_HOME"] + out << "RVM #{ENV["rvm_version"]}\n" if ENV["rvm_version"] + out << "Git #{git_version}\n" + out << "Platform #{Gem::Platform.local}\n" + out << "OpenSSL #{OpenSSL::OPENSSL_VERSION}\n" if defined?(OpenSSL::OPENSSL_VERSION) %w(rubygems-bundler open_gem).each do |name| specs = Bundler.rubygems.find_name(name) - out << " #{name} (#{specs.map(&:version).join(",")})\n" unless specs.empty? + out << "#{name} (#{specs.map(&:version).join(",")})\n" unless specs.empty? end - out << "\nBundler settings\n\n" unless Bundler.settings.all.empty? + out << "```\n" + + out << "\n## Bundler settings\n\n```\n" unless Bundler.settings.all.empty? Bundler.settings.all.each do |setting| - out << " " << setting << "\n" + out << setting << "\n" Bundler.settings.pretty_values_for(setting).each do |line| - out << " " << line << "\n" + out << " " << line << "\n" end end + out << "```\n" return out unless SharedHelpers.in_bundle? if print_gemfile - out << "\n#{Bundler.default_gemfile.relative_path_from(SharedHelpers.pwd)}\n\n" - out << " " << read_file(Bundler.default_gemfile).gsub(/\n/, "\n ") << "\n" + out << "## Gemfile\n" + out << "\n### `#{Bundler.default_gemfile.relative_path_from(SharedHelpers.pwd)}`\n\n" + out << "```ruby\n" << read_file(Bundler.default_gemfile).chomp << "\n```\n" - out << "\n#{Bundler.default_lockfile.relative_path_from(SharedHelpers.pwd)}\n\n" - out << " " << read_file(Bundler.default_lockfile).gsub(/\n/, "\n ") << "\n" + out << "\n### `#{Bundler.default_lockfile.relative_path_from(SharedHelpers.pwd)}`\n\n" + out << "```\n" << read_file(Bundler.default_lockfile).chomp << "\n```\n" end if print_gemspecs dsl = Dsl.new.tap {|d| d.eval_gemfile(Bundler.default_gemfile) } + out << "\n## Gemspecs\n" unless dsl.gemspecs.empty? dsl.gemspecs.each do |gs| - out << "\n#{File.basename(gs.loaded_from)}" - out << "\n\n " << read_file(gs.loaded_from).gsub(/\n/, "\n ") << "\n" + out << "\n### `#{File.basename(gs.loaded_from)}`" + out << "\n\n```ruby\n" << read_file(gs.loaded_from).chomp << "\n```\n" end end diff --git a/spec/bundler/env_spec.rb b/spec/bundler/env_spec.rb index 245073d9b8..f2cf26c4cf 100644 --- a/spec/bundler/env_spec.rb +++ b/spec/bundler/env_spec.rb @@ -53,13 +53,13 @@ describe Bundler::Env do let(:output) { env.report(:print_gemfile => true) } it "prints the environment" do - expect(output).to start_with("Environment") + expect(output).to start_with("## Environment") end end context "when Gemfile contains a gemspec and print_gemspecs is true" do let(:gemspec) do - <<-GEMSPEC.gsub(/^\s+/, "") + strip_whitespace(<<-GEMSPEC) Gem::Specification.new do |gem| gem.name = "foo" gem.author = "Fumofu" @@ -76,7 +76,7 @@ describe Bundler::Env do end it "prints the gemspec" do - output = env.report(:print_gemspecs => true).gsub(/^\s+/, "") + output = env.report(:print_gemspecs => true) expect(output).to include("foo.gemspec") expect(output).to include(gemspec) |