danger 0.8.4 → 0.8.5
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.
- checksums.yaml +4 -4
 - data/bin/danger +1 -1
 - data/lib/danger.rb +12 -12
 - data/lib/danger/ci_source/buildkite.rb +5 -5
 - data/lib/danger/ci_source/ci_source.rb +2 -2
 - data/lib/danger/ci_source/circle.rb +11 -11
 - data/lib/danger/ci_source/drone.rb +5 -5
 - data/lib/danger/ci_source/jenkins.rb +4 -4
 - data/lib/danger/ci_source/local_git_repo.rb +10 -10
 - data/lib/danger/ci_source/semaphore.rb +5 -5
 - data/lib/danger/ci_source/travis.rb +6 -6
 - data/lib/danger/ci_source/xcode_server.rb +2 -2
 - data/lib/danger/commands/init.rb +66 -66
 - data/lib/danger/commands/init_helpers/interviewer.rb +14 -14
 - data/lib/danger/commands/local.rb +9 -8
 - data/lib/danger/commands/plugins/plugin_new.rb +8 -8
 - data/lib/danger/commands/plugins/plugin_readme.rb +2 -2
 - data/lib/danger/commands/runner.rb +3 -3
 - data/lib/danger/comment_generators/github.md.erb +1 -1
 - data/lib/danger/core_ext/string.rb +1 -1
 - data/lib/danger/danger_core/dangerfile.rb +12 -12
 - data/lib/danger/danger_core/dangerfile_dsl.rb +1 -1
 - data/lib/danger/danger_core/environment_manager.rb +6 -6
 - data/lib/danger/danger_core/plugins/dangerfile_git_plugin.rb +9 -9
 - data/lib/danger/danger_core/plugins/dangerfile_github_plugin.rb +9 -9
 - data/lib/danger/danger_core/plugins/dangerfile_import_plugin.rb +10 -6
 - data/lib/danger/danger_core/plugins/dangerfile_messaging_plugin.rb +1 -1
 - data/lib/danger/plugin_support/plugin.rb +1 -1
 - data/lib/danger/plugin_support/plugin_file_resolver.rb +23 -23
 - data/lib/danger/plugin_support/plugin_parser.rb +40 -3
 - data/lib/danger/request_source/github.rb +14 -14
 - data/lib/danger/request_source/request_source.rb +4 -4
 - data/lib/danger/scm_source/git_repo.rb +2 -2
 - data/lib/danger/version.rb +2 -2
 - metadata +3 -3
 
| 
         @@ -25,7 +25,7 @@ module Danger 
     | 
|
| 
       25 
25 
     | 
    
         | 
| 
       26 
26 
     | 
    
         
             
              class DangerfileImportPlugin < Plugin
         
     | 
| 
       27 
27 
     | 
    
         
             
                def self.instance_name
         
     | 
| 
       28 
     | 
    
         
            -
                   
     | 
| 
      
 28 
     | 
    
         
            +
                  'plugin'
         
     | 
| 
       29 
29 
     | 
    
         
             
                end
         
     | 
| 
       30 
30 
     | 
    
         | 
| 
       31 
31 
     | 
    
         
             
                # @!group Plugins
         
     | 
| 
         @@ -34,11 +34,13 @@ module Danger 
     | 
|
| 
       34 
34 
     | 
    
         
             
                # @param    [String] path
         
     | 
| 
       35 
35 
     | 
    
         
             
                #           a local path or a https URL to the Ruby file to import
         
     | 
| 
       36 
36 
     | 
    
         
             
                #           a danger plugin from.
         
     | 
| 
      
 37 
     | 
    
         
            +
                # @return [void]
         
     | 
| 
      
 38 
     | 
    
         
            +
             
     | 
| 
       37 
39 
     | 
    
         
             
                def import(path)
         
     | 
| 
       38 
     | 
    
         
            -
                  raise  
     | 
| 
       39 
     | 
    
         
            -
                  path +=  
     | 
| 
      
 40 
     | 
    
         
            +
                  raise '`import` requires a string' unless path.kind_of?(String)
         
     | 
| 
      
 41 
     | 
    
         
            +
                  path += '.rb' unless path.end_with?('.rb')
         
     | 
| 
       40 
42 
     | 
    
         | 
| 
       41 
     | 
    
         
            -
                  if path.start_with?( 
     | 
| 
      
 43 
     | 
    
         
            +
                  if path.start_with?('http')
         
     | 
| 
       42 
44 
     | 
    
         
             
                    import_url(path)
         
     | 
| 
       43 
45 
     | 
    
         
             
                  else
         
     | 
| 
       44 
46 
     | 
    
         
             
                    import_local(path)
         
     | 
| 
         @@ -52,8 +54,9 @@ module Danger 
     | 
|
| 
       52 
54 
     | 
    
         
             
                #
         
     | 
| 
       53 
55 
     | 
    
         
             
                # @param    [String] url
         
     | 
| 
       54 
56 
     | 
    
         
             
                #           https URL to the Ruby file to use
         
     | 
| 
      
 57 
     | 
    
         
            +
                # @return [void]
         
     | 
| 
       55 
58 
     | 
    
         
             
                def import_url(url)
         
     | 
| 
       56 
     | 
    
         
            -
                  raise  
     | 
| 
      
 59 
     | 
    
         
            +
                  raise 'URL is not https, for security reasons `danger` only supports encrypted requests' unless url.start_with?('https://')
         
     | 
| 
       57 
60 
     | 
    
         | 
| 
       58 
61 
     | 
    
         
             
                  require 'tmpdir'
         
     | 
| 
       59 
62 
     | 
    
         
             
                  require 'faraday'
         
     | 
| 
         @@ -64,7 +67,7 @@ module Danger 
     | 
|
| 
       64 
67 
     | 
    
         
             
                  content = @http_client.get(url)
         
     | 
| 
       65 
68 
     | 
    
         | 
| 
       66 
69 
     | 
    
         
             
                  Dir.mktmpdir do |dir|
         
     | 
| 
       67 
     | 
    
         
            -
                    path = File.join(dir,  
     | 
| 
      
 70 
     | 
    
         
            +
                    path = File.join(dir, 'temporary_remote_action.rb')
         
     | 
| 
       68 
71 
     | 
    
         
             
                    File.write(path, content.body)
         
     | 
| 
       69 
72 
     | 
    
         
             
                    import_local(path)
         
     | 
| 
       70 
73 
     | 
    
         
             
                  end
         
     | 
| 
         @@ -76,6 +79,7 @@ module Danger 
     | 
|
| 
       76 
79 
     | 
    
         
             
                # @param    [String] path
         
     | 
| 
       77 
80 
     | 
    
         
             
                #           The path to the file to import
         
     | 
| 
       78 
81 
     | 
    
         
             
                #           Can also be a pattern (./**/*plugin.rb)
         
     | 
| 
      
 82 
     | 
    
         
            +
                # @return [void]
         
     | 
| 
       79 
83 
     | 
    
         
             
                def import_local(path)
         
     | 
| 
       80 
84 
     | 
    
         
             
                  Dir[path].each do |file|
         
     | 
| 
       81 
85 
     | 
    
         
             
                    # Without the expand_path it would fail if the path doesn't start with ./
         
     | 
| 
         @@ -16,32 +16,32 @@ module Danger 
     | 
|
| 
       16 
16 
     | 
    
         | 
| 
       17 
17 
     | 
    
         
             
                  # When given a list of gems
         
     | 
| 
       18 
18 
     | 
    
         
             
                  elsif @refs and @refs.kind_of? Array
         
     | 
| 
       19 
     | 
    
         
            -
             
     | 
| 
       20 
     | 
    
         
            -
             
     | 
| 
       21 
     | 
    
         
            -
             
     | 
| 
       22 
     | 
    
         
            -
             
     | 
| 
       23 
     | 
    
         
            -
             
     | 
| 
       24 
     | 
    
         
            -
             
     | 
| 
       25 
     | 
    
         
            -
             
     | 
| 
       26 
     | 
    
         
            -
             
     | 
| 
       27 
     | 
    
         
            -
             
     | 
| 
       28 
     | 
    
         
            -
             
     | 
| 
       29 
     | 
    
         
            -
             
     | 
| 
       30 
     | 
    
         
            -
             
     | 
| 
       31 
     | 
    
         
            -
             
     | 
| 
       32 
     | 
    
         
            -
             
     | 
| 
       33 
     | 
    
         
            -
             
     | 
| 
       34 
     | 
    
         
            -
             
     | 
| 
       35 
     | 
    
         
            -
             
     | 
| 
       36 
     | 
    
         
            -
             
     | 
| 
       37 
     | 
    
         
            -
             
     | 
| 
       38 
     | 
    
         
            -
             
     | 
| 
       39 
     | 
    
         
            -
             
     | 
| 
      
 19 
     | 
    
         
            +
                    Bundler.with_clean_env do
         
     | 
| 
      
 20 
     | 
    
         
            +
                      Dir.mktmpdir do |dir|
         
     | 
| 
      
 21 
     | 
    
         
            +
                        gem_names = @refs
         
     | 
| 
      
 22 
     | 
    
         
            +
                        deps = gem_names.map { |name| Bundler::Dependency.new(name, '>= 0') }
         
     | 
| 
      
 23 
     | 
    
         
            +
             
     | 
| 
      
 24 
     | 
    
         
            +
                        # Use Gems from rubygems.org
         
     | 
| 
      
 25 
     | 
    
         
            +
                        source = Bundler::SourceList.new
         
     | 
| 
      
 26 
     | 
    
         
            +
                        source.add_rubygems_remote('https://rubygems.org')
         
     | 
| 
      
 27 
     | 
    
         
            +
             
     | 
| 
      
 28 
     | 
    
         
            +
                        # Create a definition to bundle, make sure it always updates
         
     | 
| 
      
 29 
     | 
    
         
            +
                        # and uses the latest version from the server
         
     | 
| 
      
 30 
     | 
    
         
            +
                        bundler = Bundler::Definition.new(nil, deps, source, true)
         
     | 
| 
      
 31 
     | 
    
         
            +
                        bundler.resolve_remotely!
         
     | 
| 
      
 32 
     | 
    
         
            +
             
     | 
| 
      
 33 
     | 
    
         
            +
                        # Install the gems into a tmp dir
         
     | 
| 
      
 34 
     | 
    
         
            +
                        options = { path: dir }
         
     | 
| 
      
 35 
     | 
    
         
            +
                        Bundler::Installer.install(Pathname.new(dir), bundler, options)
         
     | 
| 
      
 36 
     | 
    
         
            +
             
     | 
| 
      
 37 
     | 
    
         
            +
                        # Get the name'd gems out of bundler, then pull out all their paths
         
     | 
| 
      
 38 
     | 
    
         
            +
                        gems = gem_names.flat_map { |name| bundler.specs[name] }
         
     | 
| 
      
 39 
     | 
    
         
            +
                        gems.flat_map { |gem| Dir.glob(File.join(gem.gem_dir, 'lib/**/**/**.rb')) }
         
     | 
| 
      
 40 
     | 
    
         
            +
                      end
         
     | 
| 
       40 
41 
     | 
    
         
             
                    end
         
     | 
| 
       41 
     | 
    
         
            -
             
     | 
| 
       42 
42 
     | 
    
         
             
                  # When empty, imply you want to test the current lib folder as a plugin
         
     | 
| 
       43 
43 
     | 
    
         
             
                  else
         
     | 
| 
       44 
     | 
    
         
            -
                    Dir.glob(File.join( 
     | 
| 
      
 44 
     | 
    
         
            +
                    Dir.glob(File.join('.', 'lib/*.rb')).map { |path| File.expand_path(path) }
         
     | 
| 
       45 
45 
     | 
    
         
             
                  end
         
     | 
| 
       46 
46 
     | 
    
         
             
                end
         
     | 
| 
       47 
47 
     | 
    
         
             
              end
         
     | 
| 
         @@ -1,5 +1,37 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            require 'json'
         
     | 
| 
       2 
2 
     | 
    
         | 
| 
      
 3 
     | 
    
         
            +
            =begin 
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
              So you want to improve this? Great. Hard thing is getting yourself into a position where you 
         
     | 
| 
      
 6 
     | 
    
         
            +
              have access to all the tokens, so here's something you should run in `bundle exec pry` to dig in:
         
     | 
| 
      
 7 
     | 
    
         
            +
             
     | 
| 
      
 8 
     | 
    
         
            +
                  require 'danger'
         
     | 
| 
      
 9 
     | 
    
         
            +
                  require 'yard'
         
     | 
| 
      
 10 
     | 
    
         
            +
                  parser = Danger::PluginParser.new "spec/fixtures/plugins/example_fully_documented.rb"
         
     | 
| 
      
 11 
     | 
    
         
            +
                  parser.parse
         
     | 
| 
      
 12 
     | 
    
         
            +
                  plugins = parser.plugins_from_classes(parser.classes_in_file)
         
     | 
| 
      
 13 
     | 
    
         
            +
                  git = plugins.first
         
     | 
| 
      
 14 
     | 
    
         
            +
                  klass = git
         
     | 
| 
      
 15 
     | 
    
         
            +
                  parser.to_dict(plugins)
         
     | 
| 
      
 16 
     | 
    
         
            +
             
     | 
| 
      
 17 
     | 
    
         
            +
              Then some helpers
         
     | 
| 
      
 18 
     | 
    
         
            +
              
         
     | 
| 
      
 19 
     | 
    
         
            +
                  attribute_meths = klass.attributes[:instance].values.map(&:values).flatten
         
     | 
| 
      
 20 
     | 
    
         
            +
             
     | 
| 
      
 21 
     | 
    
         
            +
                  methods = klass.meths - klass.inherited_meths - attribute_meths
         
     | 
| 
      
 22 
     | 
    
         
            +
                  usable_methods = methods.select { |m| m.visibility == :public }.reject { |m| m.name == :initialize }
         
     | 
| 
      
 23 
     | 
    
         
            +
             
     | 
| 
      
 24 
     | 
    
         
            +
             
     | 
| 
      
 25 
     | 
    
         
            +
              the alternative, is to add
         
     | 
| 
      
 26 
     | 
    
         
            +
             
     | 
| 
      
 27 
     | 
    
         
            +
                  require 'pry'
         
     | 
| 
      
 28 
     | 
    
         
            +
                  binding.pry
         
     | 
| 
      
 29 
     | 
    
         
            +
             
     | 
| 
      
 30 
     | 
    
         
            +
              anywhere inside the source code below.
         
     | 
| 
      
 31 
     | 
    
         
            +
             
     | 
| 
      
 32 
     | 
    
         
            +
            =end
         
     | 
| 
      
 33 
     | 
    
         
            +
             
     | 
| 
      
 34 
     | 
    
         
            +
             
     | 
| 
       3 
35 
     | 
    
         
             
            module Danger
         
     | 
| 
       4 
36 
     | 
    
         
             
              class PluginParser
         
     | 
| 
       5 
37 
     | 
    
         
             
                attr_accessor :registry
         
     | 
| 
         @@ -47,6 +79,7 @@ module Danger 
     | 
|
| 
       47 
79 
     | 
    
         
             
                    {
         
     | 
| 
       48 
80 
     | 
    
         
             
                      name: meth.name,
         
     | 
| 
       49 
81 
     | 
    
         
             
                      body_md: meth.docstring,
         
     | 
| 
      
 82 
     | 
    
         
            +
                      params: meth.parameters,
         
     | 
| 
       50 
83 
     | 
    
         
             
                      tags: meth.tags.map do |t|
         
     | 
| 
       51 
84 
     | 
    
         
             
                        {
         
     | 
| 
       52 
85 
     | 
    
         
             
                           name: t.tag_name,
         
     | 
| 
         @@ -64,10 +97,14 @@ module Danger 
     | 
|
| 
       64 
97 
     | 
    
         
             
                  end
         
     | 
| 
       65 
98 
     | 
    
         | 
| 
       66 
99 
     | 
    
         
             
                  classes.map do |klass|
         
     | 
| 
       67 
     | 
    
         
            -
                    # Adds the class being parsed into the ruby runtime
         
     | 
| 
      
 100 
     | 
    
         
            +
                    # Adds the class being parsed into the ruby runtime, so that we can access it's instance_name
         
     | 
| 
       68 
101 
     | 
    
         
             
                    require klass.file
         
     | 
| 
       69 
102 
     | 
    
         
             
                    real_klass = Danger.const_get klass.name
         
     | 
| 
       70 
103 
     | 
    
         
             
                    attribute_meths = klass.attributes[:instance].values.map(&:values).flatten
         
     | 
| 
      
 104 
     | 
    
         
            +
             
     | 
| 
      
 105 
     | 
    
         
            +
                    methods = klass.meths - klass.inherited_meths - attribute_meths
         
     | 
| 
      
 106 
     | 
    
         
            +
                    usable_methods = methods.select { |m| m.visibility == :public }.reject { |m| m.name == :initialize || m.name == :insance_name }
         
     | 
| 
      
 107 
     | 
    
         
            +
             
     | 
| 
       71 
108 
     | 
    
         
             
                    {
         
     | 
| 
       72 
109 
     | 
    
         
             
                      name: klass.name.to_s,
         
     | 
| 
       73 
110 
     | 
    
         
             
                      body_md: klass.docstring,
         
     | 
| 
         @@ -76,8 +113,8 @@ module Danger 
     | 
|
| 
       76 
113 
     | 
    
         
             
                      attributes: klass.attributes[:instance].map do |pair|
         
     | 
| 
       77 
114 
     | 
    
         
             
                        { pair.first => d_attr.call(pair.last) }
         
     | 
| 
       78 
115 
     | 
    
         
             
                      end,
         
     | 
| 
       79 
     | 
    
         
            -
                      methods:  
     | 
| 
       80 
     | 
    
         
            -
                      tags: klass.tags.select { |t| t.tag_name == "tags" }.map(&: 
     | 
| 
      
 116 
     | 
    
         
            +
                      methods: usable_methods.map { |m| d_meth.call(m) },
         
     | 
| 
      
 117 
     | 
    
         
            +
                      tags: klass.tags.select { |t| t.tag_name == "tags" }.map(&:text).compact,
         
     | 
| 
       81 
118 
     | 
    
         
             
                      see: klass.tags.select { |t| t.tag_name == "see" }.map(&:name).map(&:split).flatten.compact,
         
     | 
| 
       82 
119 
     | 
    
         
             
                      file: klass.file.gsub(File.expand_path("."), "")
         
     | 
| 
       83 
120 
     | 
    
         
             
                    }
         
     | 
| 
         @@ -13,9 +13,9 @@ module Danger 
     | 
|
| 
       13 
13 
     | 
    
         
             
                    self.support_tokenless_auth = false
         
     | 
| 
       14 
14 
     | 
    
         | 
| 
       15 
15 
     | 
    
         
             
                    Octokit.auto_paginate = true
         
     | 
| 
       16 
     | 
    
         
            -
                    @token = @environment[ 
     | 
| 
       17 
     | 
    
         
            -
                    if @environment[ 
     | 
| 
       18 
     | 
    
         
            -
                      Octokit.api_endpoint = @environment[ 
     | 
| 
      
 16 
     | 
    
         
            +
                    @token = @environment['DANGER_GITHUB_API_TOKEN']
         
     | 
| 
      
 17 
     | 
    
         
            +
                    if @environment['DANGER_GITHUB_API_HOST']
         
     | 
| 
      
 18 
     | 
    
         
            +
                      Octokit.api_endpoint = @environment['DANGER_GITHUB_API_HOST']
         
     | 
| 
       19 
19 
     | 
    
         
             
                    end
         
     | 
| 
       20 
20 
     | 
    
         
             
                  end
         
     | 
| 
       21 
21 
     | 
    
         | 
| 
         @@ -24,11 +24,11 @@ module Danger 
     | 
|
| 
       24 
24 
     | 
    
         
             
                  end
         
     | 
| 
       25 
25 
     | 
    
         | 
| 
       26 
26 
     | 
    
         
             
                  def host
         
     | 
| 
       27 
     | 
    
         
            -
                    @host = @environment[ 
     | 
| 
      
 27 
     | 
    
         
            +
                    @host = @environment['DANGER_GITHUB_HOST'] || 'github.com'
         
     | 
| 
       28 
28 
     | 
    
         
             
                  end
         
     | 
| 
       29 
29 
     | 
    
         | 
| 
       30 
30 
     | 
    
         
             
                  def client
         
     | 
| 
       31 
     | 
    
         
            -
                    raise  
     | 
| 
      
 31 
     | 
    
         
            +
                    raise 'No API token given, please provide one using `DANGER_GITHUB_API_TOKEN`' if !@token && !support_tokenless_auth
         
     | 
| 
       32 
32 
     | 
    
         
             
                    @client ||= Octokit::Client.new(access_token: @token)
         
     | 
| 
       33 
33 
     | 
    
         
             
                  end
         
     | 
| 
       34 
34 
     | 
    
         | 
| 
         @@ -39,7 +39,7 @@ module Danger 
     | 
|
| 
       39 
39 
     | 
    
         
             
                  def setup_danger_branches
         
     | 
| 
       40 
40 
     | 
    
         
             
                    # we can use a github specific feature here:
         
     | 
| 
       41 
41 
     | 
    
         
             
                    base_commit = self.pr_json[:base][:sha]
         
     | 
| 
       42 
     | 
    
         
            -
                    head_commit = self. 
     | 
| 
      
 42 
     | 
    
         
            +
                    head_commit = self.pr_json[:head][:sha]
         
     | 
| 
       43 
43 
     | 
    
         | 
| 
       44 
44 
     | 
    
         
             
                    # Next, we want to ensure that we have a version of the current branch at a known location
         
     | 
| 
       45 
45 
     | 
    
         
             
                    self.scm.exec "branch #{EnvironmentManager.danger_base_branch} #{base_commit}"
         
     | 
| 
         @@ -119,7 +119,7 @@ module Danger 
     | 
|
| 
       119 
119 
     | 
    
         
             
                    begin
         
     | 
| 
       120 
120 
     | 
    
         
             
                      client.create_status(ci_source.repo_slug, latest_pr_commit_ref, status, {
         
     | 
| 
       121 
121 
     | 
    
         
             
                        description: message,
         
     | 
| 
       122 
     | 
    
         
            -
                        context:  
     | 
| 
      
 122 
     | 
    
         
            +
                        context: 'danger/danger',
         
     | 
| 
       123 
123 
     | 
    
         
             
                        target_url: details_url
         
     | 
| 
       124 
124 
     | 
    
         
             
                      })
         
     | 
| 
       125 
125 
     | 
    
         
             
                    rescue
         
     | 
| 
         @@ -146,8 +146,8 @@ module Danger 
     | 
|
| 
       146 
146 
     | 
    
         
             
                  end
         
     | 
| 
       147 
147 
     | 
    
         | 
| 
       148 
148 
     | 
    
         
             
                  def random_compliment
         
     | 
| 
       149 
     | 
    
         
            -
                    compliment = [ 
     | 
| 
       150 
     | 
    
         
            -
                                   
     | 
| 
      
 149 
     | 
    
         
            +
                    compliment = ['Well done.', 'Congrats.', 'Woo!',
         
     | 
| 
      
 150 
     | 
    
         
            +
                                  'Yay.', 'Jolly good show.', "Good on 'ya.", 'Nice work.']
         
     | 
| 
       151 
151 
     | 
    
         
             
                    compliment.sample
         
     | 
| 
       152 
152 
     | 
    
         
             
                  end
         
     | 
| 
       153 
153 
     | 
    
         | 
| 
         @@ -166,19 +166,19 @@ module Danger 
     | 
|
| 
       166 
166 
     | 
    
         
             
                  def generate_comment(warnings: [], errors: [], messages: [], markdowns: [], previous_violations: {}, danger_id: 'danger')
         
     | 
| 
       167 
167 
     | 
    
         
             
                    require 'erb'
         
     | 
| 
       168 
168 
     | 
    
         | 
| 
       169 
     | 
    
         
            -
                    md_template = File.join(Danger.gem_path,  
     | 
| 
      
 169 
     | 
    
         
            +
                    md_template = File.join(Danger.gem_path, 'lib/danger/comment_generators/github.md.erb')
         
     | 
| 
       170 
170 
     | 
    
         | 
| 
       171 
171 
     | 
    
         
             
                    # erb: http://www.rrn.dk/rubys-erb-templating-system
         
     | 
| 
       172 
172 
     | 
    
         
             
                    # for the extra args: http://stackoverflow.com/questions/4632879/erb-template-removing-the-trailing-line
         
     | 
| 
       173 
173 
     | 
    
         
             
                    @tables = [
         
     | 
| 
       174 
     | 
    
         
            -
                      table( 
     | 
| 
       175 
     | 
    
         
            -
                      table( 
     | 
| 
       176 
     | 
    
         
            -
                      table( 
     | 
| 
      
 174 
     | 
    
         
            +
                      table('Error', 'no_entry_sign', errors, previous_violations),
         
     | 
| 
      
 175 
     | 
    
         
            +
                      table('Warning', 'warning', warnings, previous_violations),
         
     | 
| 
      
 176 
     | 
    
         
            +
                      table('Message', 'book', messages, previous_violations)
         
     | 
| 
       177 
177 
     | 
    
         
             
                    ]
         
     | 
| 
       178 
178 
     | 
    
         
             
                    @markdowns = markdowns
         
     | 
| 
       179 
179 
     | 
    
         
             
                    @danger_id = danger_id
         
     | 
| 
       180 
180 
     | 
    
         | 
| 
       181 
     | 
    
         
            -
                    return ERB.new(File.read(md_template), 0,  
     | 
| 
      
 181 
     | 
    
         
            +
                    return ERB.new(File.read(md_template), 0, '-').result(binding)
         
     | 
| 
       182 
182 
     | 
    
         
             
                  end
         
     | 
| 
       183 
183 
     | 
    
         | 
| 
       184 
184 
     | 
    
         
             
                  def table(name, emoji, violations, all_previous_violations)
         
     | 
| 
         @@ -13,7 +13,7 @@ module Danger 
     | 
|
| 
       13 
13 
     | 
    
         
             
                  end
         
     | 
| 
       14 
14 
     | 
    
         | 
| 
       15 
15 
     | 
    
         
             
                  def initialize(_ci_source, _environment)
         
     | 
| 
       16 
     | 
    
         
            -
                    raise  
     | 
| 
      
 16 
     | 
    
         
            +
                    raise 'Subclass and overwrite initialize'
         
     | 
| 
       17 
17 
     | 
    
         
             
                  end
         
     | 
| 
       18 
18 
     | 
    
         | 
| 
       19 
19 
     | 
    
         
             
                  def validates?
         
     | 
| 
         @@ -33,15 +33,15 @@ module Danger 
     | 
|
| 
       33 
33 
     | 
    
         
             
                  end
         
     | 
| 
       34 
34 
     | 
    
         | 
| 
       35 
35 
     | 
    
         
             
                  def update_pull_request!(_warnings: [], _errors: [], _messages: [], _markdowns: [])
         
     | 
| 
       36 
     | 
    
         
            -
                    raise  
     | 
| 
      
 36 
     | 
    
         
            +
                    raise 'Subclass and overwrite update_pull_request!'
         
     | 
| 
       37 
37 
     | 
    
         
             
                  end
         
     | 
| 
       38 
38 
     | 
    
         | 
| 
       39 
39 
     | 
    
         
             
                  def setup_danger_branches
         
     | 
| 
       40 
     | 
    
         
            -
                    raise  
     | 
| 
      
 40 
     | 
    
         
            +
                    raise 'Subclass and overwrite setup_danger_branches'
         
     | 
| 
       41 
41 
     | 
    
         
             
                  end
         
     | 
| 
       42 
42 
     | 
    
         | 
| 
       43 
43 
     | 
    
         
             
                  def fetch_details
         
     | 
| 
       44 
     | 
    
         
            -
                    raise  
     | 
| 
      
 44 
     | 
    
         
            +
                    raise 'Subclass and overwrite initialize'
         
     | 
| 
       45 
45 
     | 
    
         
             
                  end
         
     | 
| 
       46 
46 
     | 
    
         
             
                end
         
     | 
| 
       47 
47 
     | 
    
         
             
              end
         
     | 
| 
         @@ -6,7 +6,7 @@ module Danger 
     | 
|
| 
       6 
6 
     | 
    
         
             
              class GitRepo
         
     | 
| 
       7 
7 
     | 
    
         
             
                attr_accessor :diff, :log
         
     | 
| 
       8 
8 
     | 
    
         | 
| 
       9 
     | 
    
         
            -
                def diff_for_folder(folder, from:  
     | 
| 
      
 9 
     | 
    
         
            +
                def diff_for_folder(folder, from: 'master', to: 'HEAD')
         
     | 
| 
       10 
10 
     | 
    
         
             
                  repo = Git.open folder
         
     | 
| 
       11 
11 
     | 
    
         
             
                  self.diff = repo.diff(from, to)
         
     | 
| 
       12 
12 
     | 
    
         
             
                  self.log = repo.log.between(from, to)
         
     | 
| 
         @@ -17,7 +17,7 @@ module Danger 
     | 
|
| 
       17 
17 
     | 
    
         
             
                end
         
     | 
| 
       18 
18 
     | 
    
         | 
| 
       19 
19 
     | 
    
         
             
                def head_commit
         
     | 
| 
       20 
     | 
    
         
            -
                  exec  
     | 
| 
      
 20 
     | 
    
         
            +
                  exec 'rev-parse HEAD'
         
     | 
| 
       21 
21 
     | 
    
         
             
                end
         
     | 
| 
       22 
22 
     | 
    
         | 
| 
       23 
23 
     | 
    
         
             
                def origins
         
     | 
    
        data/lib/danger/version.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: danger
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 0.8. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 0.8.5
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Orta Therox
         
     | 
| 
         @@ -9,7 +9,7 @@ authors: 
     | 
|
| 
       9 
9 
     | 
    
         
             
            autorequire: 
         
     | 
| 
       10 
10 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       11 
11 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       12 
     | 
    
         
            -
            date: 2016-07- 
     | 
| 
      
 12 
     | 
    
         
            +
            date: 2016-07-05 00:00:00.000000000 Z
         
     | 
| 
       13 
13 
     | 
    
         
             
            dependencies:
         
     | 
| 
       14 
14 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       15 
15 
     | 
    
         
             
              name: claide
         
     | 
| 
         @@ -352,7 +352,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement 
     | 
|
| 
       352 
352 
     | 
    
         
             
                  version: '0'
         
     | 
| 
       353 
353 
     | 
    
         
             
            requirements: []
         
     | 
| 
       354 
354 
     | 
    
         
             
            rubyforge_project: 
         
     | 
| 
       355 
     | 
    
         
            -
            rubygems_version: 2. 
     | 
| 
      
 355 
     | 
    
         
            +
            rubygems_version: 2.4.8
         
     | 
| 
       356 
356 
     | 
    
         
             
            signing_key: 
         
     | 
| 
       357 
357 
     | 
    
         
             
            specification_version: 4
         
     | 
| 
       358 
358 
     | 
    
         
             
            summary: Automate your PR etiquette.
         
     |