danger 0.8.5 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +4 -1
  3. data/bin/danger +2 -2
  4. data/lib/danger.rb +13 -13
  5. data/lib/danger/ci_source/buildkite.rb +5 -5
  6. data/lib/danger/ci_source/ci_source.rb +3 -3
  7. data/lib/danger/ci_source/circle.rb +13 -13
  8. data/lib/danger/ci_source/circle_api.rb +4 -4
  9. data/lib/danger/ci_source/drone.rb +5 -5
  10. data/lib/danger/ci_source/jenkins.rb +4 -4
  11. data/lib/danger/ci_source/local_git_repo.rb +13 -13
  12. data/lib/danger/ci_source/semaphore.rb +5 -5
  13. data/lib/danger/ci_source/surf.rb +24 -0
  14. data/lib/danger/ci_source/teamcity.rb +4 -4
  15. data/lib/danger/ci_source/travis.rb +6 -6
  16. data/lib/danger/ci_source/xcode_server.rb +2 -2
  17. data/lib/danger/commands/init.rb +93 -82
  18. data/lib/danger/commands/init_helpers/interviewer.rb +15 -15
  19. data/lib/danger/commands/local.rb +13 -13
  20. data/lib/danger/commands/plugins/plugin_lint.rb +11 -8
  21. data/lib/danger/commands/plugins/plugin_readme.rb +15 -11
  22. data/lib/danger/commands/runner.rb +31 -20
  23. data/lib/danger/core_ext/string.rb +3 -3
  24. data/lib/danger/danger_core/dangerfile.rb +31 -31
  25. data/lib/danger/danger_core/dangerfile_dsl.rb +1 -1
  26. data/lib/danger/danger_core/environment_manager.rb +6 -6
  27. data/lib/danger/danger_core/plugins/dangerfile_git_plugin.rb +5 -5
  28. data/lib/danger/danger_core/plugins/dangerfile_github_plugin.rb +2 -2
  29. data/lib/danger/danger_core/plugins/dangerfile_import_plugin.rb +9 -9
  30. data/lib/danger/danger_core/plugins/dangerfile_messaging_plugin.rb +3 -3
  31. data/lib/danger/danger_core/standard_error.rb +6 -6
  32. data/lib/danger/plugin_support/plugin.rb +1 -1
  33. data/lib/danger/plugin_support/plugin_file_resolver.rb +6 -6
  34. data/lib/danger/plugin_support/plugin_parser.rb +75 -31
  35. data/lib/danger/request_source/request_source.rb +4 -4
  36. data/lib/danger/scm_source/git_repo.rb +3 -3
  37. data/lib/danger/version.rb +2 -2
  38. metadata +17 -4
  39. data/lib/danger/commands/plugins/plugin_abstract.rb +0 -11
  40. data/lib/danger/commands/plugins/plugin_new.rb +0 -34
@@ -7,19 +7,19 @@ module Danger
7
7
  end
8
8
 
9
9
  def show_prompt
10
- ui.print '> '.bold.green
10
+ ui.print "> ".bold.green
11
11
  end
12
12
 
13
13
  def yellow_bang
14
- '! '.yellow
14
+ "! ".yellow
15
15
  end
16
16
 
17
17
  def green_bang
18
- '! '.green
18
+ "! ".green
19
19
  end
20
20
 
21
21
  def red_bang
22
- '! '.red
22
+ "! ".red
23
23
  end
24
24
 
25
25
  def say(output)
@@ -28,12 +28,12 @@ module Danger
28
28
 
29
29
  def header(title)
30
30
  say title.yellow
31
- say ''
31
+ say ""
32
32
  pause 0.6
33
33
  end
34
34
 
35
35
  def link(url)
36
- say ' -> ' + url.underline + "\n"
36
+ say " -> " + url.underline + "\n"
37
37
  end
38
38
 
39
39
  def pause(time)
@@ -48,12 +48,12 @@ module Danger
48
48
 
49
49
  def run_command(command, output_command = nil)
50
50
  output_command ||= command
51
- ui.puts ' ' + output_command.magenta
51
+ ui.puts " " + output_command.magenta
52
52
  system command
53
53
  end
54
54
 
55
55
  def ask(question)
56
- answer = ''
56
+ answer = ""
57
57
  loop do
58
58
  ui.puts "\n#{question}?"
59
59
 
@@ -73,26 +73,26 @@ module Danger
73
73
  print_info = proc do
74
74
  possible_answers.each_with_index do |answer, i|
75
75
  the_answer = (i == 0) ? answer.underline : answer
76
- ui.print ' ' + the_answer
77
- ui.print(' /') if i != possible_answers.length - 1
76
+ ui.print " " + the_answer
77
+ ui.print(" /") if i != possible_answers.length - 1
78
78
  end
79
79
  ui.print " ]\n"
80
80
  end
81
81
  print_info.call
82
82
 
83
- answer = ''
83
+ answer = ""
84
84
 
85
85
  loop do
86
86
  show_prompt
87
87
  answer = @no_waiting ? possible_answers[0].downcase : STDIN.gets.downcase.chomp
88
88
 
89
- answer = 'yes' if answer == 'y'
90
- answer = 'no' if answer == 'n'
89
+ answer = "yes" if answer == "y"
90
+ answer = "no" if answer == "n"
91
91
 
92
92
  # default to first answer
93
- if answer == ''
93
+ if answer == ""
94
94
  answer = possible_answers[0].downcase
95
- ui.puts 'Using: ' + answer.yellow
95
+ ui.puts "Using: " + answer.yellow
96
96
  end
97
97
 
98
98
  break if possible_answers.map(&:downcase).include? answer
@@ -1,30 +1,30 @@
1
1
  module Danger
2
2
  class Local < Runner
3
- self.summary = 'Run the Dangerfile locally.'
4
- self.command = 'local'
3
+ self.summary = "Run the Dangerfile locally."
4
+ self.command = "local"
5
5
 
6
6
  def initialize(argv)
7
- @dangerfile_path = 'Dangerfile' if File.exist? 'Dangerfile'
8
- @pr_num = argv.option('use-merged-pr')
7
+ @dangerfile_path = "Dangerfile" if File.exist? "Dangerfile"
8
+ @pr_num = argv.option("use-merged-pr")
9
9
  super
10
10
  end
11
11
 
12
12
  def self.options
13
13
  [
14
- ['--use-merged-pr=[#id]', 'The ID of an already merged PR inside your history to use as a reference for the local run.']
14
+ ["--use-merged-pr=[#id]", "The ID of an already merged PR inside your history to use as a reference for the local run."]
15
15
  ].concat(super)
16
16
  end
17
17
 
18
18
  def validate!
19
19
  super
20
20
  unless @dangerfile_path
21
- help! 'Could not find a Dangerfile.'
21
+ help! "Could not find a Dangerfile."
22
22
  end
23
23
  end
24
24
 
25
25
  def run
26
- ENV['DANGER_USE_LOCAL_GIT'] = 'YES'
27
- ENV['LOCAL_GIT_PR_ID'] = @pr_num if @pr_num
26
+ ENV["DANGER_USE_LOCAL_GIT"] = "YES"
27
+ ENV["LOCAL_GIT_PR_ID"] = @pr_num if @pr_num
28
28
 
29
29
  env = EnvironmentManager.new(ENV)
30
30
  dm = Dangerfile.new(env, cork)
@@ -32,7 +32,7 @@ module Danger
32
32
 
33
33
  source = dm.env.ci_source
34
34
  if source.nil? or source.repo_slug.empty?
35
- cork.puts 'danger local failed because it only works with GitHub projects at the moment. Sorry.'.red
35
+ cork.puts "danger local failed because it only works with GitHub projects at the moment. Sorry.".red
36
36
  exit 0
37
37
  end
38
38
 
@@ -41,20 +41,20 @@ module Danger
41
41
  cork.puts "Running your Dangerfile against this PR - https://#{gh.host}/#{source.repo_slug}/pull/#{source.pull_request_id}"
42
42
 
43
43
  if verbose != true
44
- cork.puts 'Turning on --verbose'
44
+ cork.puts "Turning on --verbose"
45
45
  dm.verbose = true
46
46
  end
47
47
 
48
48
  cork.puts
49
49
 
50
50
  # We can use tokenless here, as it's running on someone's computer
51
- # and is IP locked, as opposed to on the CI.
51
+ # and is IP locked, as opposed to on the CI.
52
52
  gh.support_tokenless_auth = true
53
53
 
54
54
  begin
55
55
  gh.fetch_details
56
56
  rescue Octokit::NotFound
57
- cork.puts "Local repository was not found on GitHub. If you're trying to test a private repository please provide a valid API token through " + 'DANGER_GITHUB_API_TOKEN'.yellow + ' environment variable.'
57
+ cork.puts "Local repository was not found on GitHub. If you're trying to test a private repository please provide a valid API token through " + "DANGER_GITHUB_API_TOKEN".yellow + " environment variable."
58
58
  return
59
59
  end
60
60
 
@@ -63,7 +63,7 @@ module Danger
63
63
  begin
64
64
  dm.env.fill_environment_vars
65
65
  dm.env.ensure_danger_branches_are_setup
66
- dm.env.scm.diff_for_folder('.', from: Danger::EnvironmentManager.danger_base_branch, to: Danger::EnvironmentManager.danger_head_branch)
66
+ dm.env.scm.diff_for_folder(".", from: Danger::EnvironmentManager.danger_base_branch, to: Danger::EnvironmentManager.danger_head_branch)
67
67
  dm.parse(Pathname.new(@dangerfile_path))
68
68
  dm.print_results
69
69
  ensure
@@ -1,18 +1,21 @@
1
- require 'danger/commands/plugins/plugin_abstract'
2
- require 'danger/plugin_support/plugin_parser'
3
- require 'danger/plugin_support/plugin_file_resolver'
1
+ require "danger/plugin_support/plugin_parser"
2
+ require "danger/plugin_support/plugin_file_resolver"
4
3
 
5
4
  module Danger
6
- class PluginLint < PluginAbstract
7
- self.summary = 'Lints a plugin'
8
- self.command = 'lint'
5
+ class PluginLint < CLAide::Command::Plugins
6
+ self.summary = "Lints a plugin"
7
+ self.command = "lint"
8
+
9
+ attr_accessor :cork
9
10
 
10
11
  def initialize(argv)
11
12
  @refs = argv.arguments! unless argv.arguments.empty?
13
+ @cork = Cork::Board.new(silent: argv.option("silent", false),
14
+ verbose: argv.option("verbose", false))
12
15
  super
13
16
  end
14
17
 
15
- self.summary = 'Lint plugins from files, gems or the current folder. Outputs JSON array representation of Plugins on success.'
18
+ self.summary = "Lint plugins from files, gems or the current folder. Outputs JSON array representation of Plugins on success."
16
19
 
17
20
  self.description = <<-DESC
18
21
  Converts a collection of file paths of Danger plugins into a JSON format.
@@ -21,7 +24,7 @@ module Danger
21
24
  DESC
22
25
 
23
26
  self.arguments = [
24
- CLAide::Argument.new('Paths, Gems or Nothing', false, true)
27
+ CLAide::Argument.new("Paths, Gems or Nothing", false, true)
25
28
  ]
26
29
 
27
30
  def run
@@ -1,19 +1,23 @@
1
- require 'danger/commands/plugins/plugin_abstract'
2
- require 'danger/plugin_support/plugin_parser'
3
- require 'danger/plugin_support/plugin_file_resolver'
4
- require 'json'
1
+ require "danger/plugin_support/plugin_parser"
2
+ require "danger/plugin_support/plugin_file_resolver"
3
+ require "json"
4
+ require "erb"
5
5
 
6
6
  module Danger
7
- class PluginReadme < PluginAbstract
8
- self.summary = 'Generates a README from a set of plugins'
9
- self.command = 'readme'
7
+ class PluginReadme < CLAide::Command::Plugins
8
+ self.summary = "Generates a README from a set of plugins"
9
+ self.command = "readme"
10
+
11
+ attr_accessor :cork
10
12
 
11
13
  def initialize(argv)
12
14
  @refs = argv.arguments! unless argv.arguments.empty?
15
+ @cork = Cork::Board.new(silent: argv.option("silent", false),
16
+ verbose: argv.option("verbose", false))
13
17
  super
14
18
  end
15
19
 
16
- self.summary = 'Lint plugins from files, gems or the current folder. Outputs JSON array representation of Plugins on success.'
20
+ self.summary = "Lint plugins from files, gems or the current folder. Outputs JSON array representation of Plugins on success."
17
21
 
18
22
  self.description = <<-DESC
19
23
  Converts a collection of file paths of Danger plugins into a format usable in a README.
@@ -21,7 +25,7 @@ module Danger
21
25
  DESC
22
26
 
23
27
  self.arguments = [
24
- CLAide::Argument.new('Paths, Gems or Nothing', false, true)
28
+ CLAide::Argument.new("Paths, Gems or Nothing", false, true)
25
29
  ]
26
30
 
27
31
  attr_accessor :json, :markdown
@@ -35,8 +39,8 @@ module Danger
35
39
  self.markdown = Redcarpet::Markdown.new(Redcarpet::Render::HTML, no_intra_emphasis: true)
36
40
  self.json = JSON.parse(parser.to_json)
37
41
 
38
- template = File.join(Danger.gem_path, 'lib/danger/plugin_support/templates/readme_table.html.erb')
39
- cork.puts ERB.new(File.read(template), 0, '-').result(binding)
42
+ template = File.join(Danger.gem_path, "lib/danger/plugin_support/templates/readme_table.html.erb")
43
+ cork.puts ERB.new(File.read(template), 0, "-").result(binding)
40
44
  end
41
45
  end
42
46
  end
@@ -1,11 +1,22 @@
1
1
  module Danger
2
2
  class Runner < CLAide::Command
3
- require 'danger/commands/init'
4
- require 'danger/commands/local'
5
- require 'danger/commands/plugins/plugin_abstract'
6
-
7
- self.summary = 'Run the Dangerfile.'
8
- self.command = 'danger'
3
+ require "danger/commands/init"
4
+ require "danger/commands/local"
5
+
6
+ # manually set claide plugins as a subcommand
7
+ require "claide_plugin"
8
+ @subcommands << CLAide::Command::Plugins
9
+ CLAide::Plugins.config =
10
+ CLAide::Plugins::Configuration.new("Danger",
11
+ "danger",
12
+ "https://raw.githubusercontent.com/danger/danger.systems/master/plugins-search-generated.json",
13
+ "https://github.com/danger/danger-plugin-template")
14
+
15
+ require "danger/commands/plugins/plugin_lint"
16
+ require "danger/commands/plugins/plugin_readme"
17
+
18
+ self.summary = "Run the Dangerfile."
19
+ self.command = "danger"
9
20
  self.version = Danger::VERSION
10
21
 
11
22
  self.plugin_prefixes = %w(claide danger)
@@ -13,29 +24,29 @@ module Danger
13
24
  attr_accessor :cork
14
25
 
15
26
  def initialize(argv)
16
- dangerfile = argv.option('dangerfile', 'Dangerfile')
27
+ dangerfile = argv.option("dangerfile", "Dangerfile")
17
28
  @dangerfile_path = dangerfile if File.exist? dangerfile
18
- @base = argv.option('base')
19
- @head = argv.option('head')
20
- @danger_id = argv.option('danger_id', 'danger')
21
- @cork = Cork::Board.new(silent: argv.option('silent', false),
22
- verbose: argv.option('verbose', false))
29
+ @base = argv.option("base")
30
+ @head = argv.option("head")
31
+ @danger_id = argv.option("danger_id", "danger")
32
+ @cork = Cork::Board.new(silent: argv.option("silent", false),
33
+ verbose: argv.option("verbose", false))
23
34
  super
24
35
  end
25
36
 
26
37
  def validate!
27
38
  super
28
39
  if self.class == Runner && !@dangerfile_path
29
- help! 'Could not find a Dangerfile.'
40
+ help! "Could not find a Dangerfile."
30
41
  end
31
42
  end
32
43
 
33
44
  def self.options
34
45
  [
35
- ['--base=[master|dev|stable]', 'A branch/tag/commit to use as the base of the diff'],
36
- ['--head=[master|dev|stable]', 'A branch/tag/commit to use as the head'],
37
- ['--dangerfile=<path/to/dangerfile>', 'The location of your Dangerfile'],
38
- ['--danger_id=<id>', 'The identifier of this Danger instance']
46
+ ["--base=[master|dev|stable]", "A branch/tag/commit to use as the base of the diff"],
47
+ ["--head=[master|dev|stable]", "A branch/tag/commit to use as the head"],
48
+ ["--dangerfile=<path/to/dangerfile>", "The location of your Dangerfile"],
49
+ ["--danger_id=<id>", "The identifier of this Danger instance"]
39
50
  ].concat(super)
40
51
  end
41
52
 
@@ -55,7 +66,7 @@ module Danger
55
66
  # Offer the chance for a user to specify a branch through the command line
56
67
  ci_base = @base || EnvironmentManager.danger_base_branch
57
68
  ci_head = @head || EnvironmentManager.danger_head_branch
58
- dm.env.scm.diff_for_folder('.', from: ci_base, to: ci_head)
69
+ dm.env.scm.diff_for_folder(".", from: ci_base, to: ci_head)
59
70
 
60
71
  dm.parse Pathname.new(@dangerfile_path)
61
72
 
@@ -65,7 +76,7 @@ module Danger
65
76
  dm.env.clean_up
66
77
  end
67
78
  else
68
- cork.puts 'Not a Pull Request - skipping `danger` run'
79
+ cork.puts "Not a Pull Request - skipping `danger` run"
69
80
  end
70
81
  end
71
82
 
@@ -81,7 +92,7 @@ module Danger
81
92
  raise exception if exception.kind_of?(SystemExit)
82
93
  message = "#{exception.message.red} (#{exception.class.to_s.yellow})"
83
94
  if exception.backtrace
84
- danger_lib = File.expand_path('../../..', __FILE__)
95
+ danger_lib = File.expand_path("../../..", __FILE__)
85
96
  message << "\n\t" << exception.backtrace.reverse_each.
86
97
  drop_while { |bt| !bt.start_with?(danger_lib) }.reverse.
87
98
  join("\n\t")
@@ -1,6 +1,6 @@
1
1
  class String
2
2
  def danger_class
3
- split('_').collect!(&:capitalize).join
3
+ split("_").collect!(&:capitalize).join
4
4
  end
5
5
 
6
6
  def danger_pluralize(count)
@@ -8,10 +8,10 @@ class String
8
8
  end
9
9
 
10
10
  def danger_underscore
11
- self.gsub(/::/, '/').
11
+ self.gsub(/::/, "/").
12
12
  gsub(/([A-Z]+)([A-Z][a-z])/, '\1_\2').
13
13
  gsub(/([a-z\d])([A-Z])/, '\1_\2').
14
- tr('-', '_').
14
+ tr("-", "_").
15
15
  downcase
16
16
  end
17
17
  end
@@ -1,14 +1,14 @@
1
1
  # So much was ripped direct from CocoaPods-Core - thanks!
2
2
 
3
- require 'danger/danger_core/dangerfile_dsl'
4
- require 'danger/danger_core/standard_error'
3
+ require "danger/danger_core/dangerfile_dsl"
4
+ require "danger/danger_core/standard_error"
5
5
 
6
- require 'danger/danger_core/plugins/dangerfile_messaging_plugin'
7
- require 'danger/danger_core/plugins/dangerfile_import_plugin'
8
- require 'danger/danger_core/plugins/dangerfile_git_plugin'
9
- require 'danger/danger_core/plugins/dangerfile_github_plugin'
6
+ require "danger/danger_core/plugins/dangerfile_messaging_plugin"
7
+ require "danger/danger_core/plugins/dangerfile_import_plugin"
8
+ require "danger/danger_core/plugins/dangerfile_git_plugin"
9
+ require "danger/danger_core/plugins/dangerfile_github_plugin"
10
10
 
11
- require 'danger/danger_core/plugins/dangerfile_github_plugin'
11
+ require "danger/danger_core/plugins/dangerfile_github_plugin"
12
12
 
13
13
  module Danger
14
14
  class Dangerfile
@@ -25,7 +25,7 @@ module Danger
25
25
  # presented to the user.
26
26
  #
27
27
  def to_s
28
- 'Dangerfile'
28
+ "Dangerfile"
29
29
  end
30
30
 
31
31
  # These are the classes that are allowed to also use method_missing
@@ -73,7 +73,7 @@ module Danger
73
73
  @env = env_manager
74
74
 
75
75
  # Triggers local plugins from the root of a project
76
- Dir['./danger_plugins/*.rb'].each do |file|
76
+ Dir["./danger_plugins/*.rb"].each do |file|
77
77
  require File.expand_path(file)
78
78
  end
79
79
 
@@ -115,10 +115,10 @@ module Danger
115
115
  methods.map do |method|
116
116
  case method
117
117
  when :api
118
- value = 'Octokit::Client'
118
+ value = "Octokit::Client"
119
119
 
120
120
  when :pr_json
121
- value = '[Skipped]'
121
+ value = "[Skipped]"
122
122
 
123
123
  when :pr_body
124
124
  value = plugin.send(method)
@@ -140,20 +140,20 @@ module Danger
140
140
  def print_known_info
141
141
  rows = []
142
142
  rows += method_values_for_plugin_hashes(core_dsl_attributes)
143
- rows << ['---', '---']
143
+ rows << ["---", "---"]
144
144
  rows += method_values_for_plugin_hashes(external_dsl_attributes)
145
- rows << ['---', '---']
146
- rows << ['SCM', env.scm.class]
147
- rows << ['Source', env.ci_source.class]
148
- rows << ['Requests', env.request_source.class]
149
- rows << ['Base Commit', env.meta_info_for_base]
150
- rows << ['Head Commit', env.meta_info_for_head]
145
+ rows << ["---", "---"]
146
+ rows << ["SCM", env.scm.class]
147
+ rows << ["Source", env.ci_source.class]
148
+ rows << ["Requests", env.request_source.class]
149
+ rows << ["Base Commit", env.meta_info_for_base]
150
+ rows << ["Head Commit", env.meta_info_for_head]
151
151
 
152
152
  params = {}
153
153
  params[:rows] = rows.each { |current| current[0] = current[0].yellow }
154
154
  params[:title] = "Danger v#{Danger::VERSION}\nDSL Attributes".green
155
155
 
156
- ui.section('Info:') do
156
+ ui.section("Info:") do
157
157
  ui.puts
158
158
  ui.puts Terminal::Table.new(params)
159
159
  ui.puts
@@ -165,23 +165,23 @@ module Danger
165
165
  def parse(path, contents = nil)
166
166
  print_known_info if verbose
167
167
 
168
- contents ||= File.open(path, 'r:utf-8', &:read)
168
+ contents ||= File.open(path, "r:utf-8", &:read)
169
169
 
170
170
  # Work around for Rubinius incomplete encoding in 1.9 mode
171
- if contents.respond_to?(:encoding) && contents.encoding.name != 'UTF-8'
172
- contents.encode!('UTF-8')
171
+ if contents.respond_to?(:encoding) && contents.encoding.name != "UTF-8"
172
+ contents.encode!("UTF-8")
173
173
  end
174
174
 
175
- if contents.tr!('“”‘’‛', %(""'''))
175
+ if contents.tr!("“”‘’‛", %(""'''))
176
176
  # Changes have been made
177
177
  ui.puts "Your #{path.basename} has had smart quotes sanitised. " \
178
- 'To avoid issues in the future, you should not use ' \
179
- 'TextEdit for editing it. If you are not using TextEdit, ' \
180
- 'you should turn off smart quotes in your editor of choice.'.red
178
+ "To avoid issues in the future, you should not use " \
179
+ "TextEdit for editing it. If you are not using TextEdit, " \
180
+ "you should turn off smart quotes in your editor of choice.".red
181
181
  end
182
182
 
183
- if contents.include?('puts')
184
- ui.puts 'You used `puts` in your Dangerfile. To print out text to GitHub use `message` instead'
183
+ if contents.include?("puts")
184
+ ui.puts "You used `puts` in your Dangerfile. To print out text to GitHub use `message` instead"
185
185
  end
186
186
 
187
187
  self.defined_in_file = path
@@ -203,9 +203,9 @@ module Danger
203
203
  status = status_report
204
204
  return if (status[:errors] + status[:warnings] + status[:messages] + status[:markdowns]).count == 0
205
205
 
206
- ui.section('Results:') do
206
+ ui.section("Results:") do
207
207
  [:errors, :warnings, :messages].each do |key|
208
- formatted = key.to_s.capitalize + ':'
208
+ formatted = key.to_s.capitalize + ":"
209
209
  title = case key
210
210
  when :errors
211
211
  formatted.red
@@ -219,7 +219,7 @@ module Danger
219
219
  end
220
220
 
221
221
  if status[:markdowns].count > 0
222
- ui.section('Markdown:') do
222
+ ui.section("Markdown:") do
223
223
  status[:markdowns].each do |current_markdown|
224
224
  ui.puts current_markdown
225
225
  end