danger 5.2.0 → 5.2.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 48231f5c4a008b745dd304f7906936fd7891a456
4
- data.tar.gz: dfce17a735b94f29ee7c25e66929ffe701a95b61
3
+ metadata.gz: d74236f8bd9ddb9051beca311ddb9f291dccfd8b
4
+ data.tar.gz: 1165b856f1f001e97b853e57bb72ba9456d22dac
5
5
  SHA512:
6
- metadata.gz: db0bbe283f6ee56778c04c69cbd75de99331d1ad2b63c6f095d72cd0c3ab04177e2623c91d852e196825ef0a656b01369c045db93e878ebf971f87bf52a45648
7
- data.tar.gz: 6ae09d8f4dfef272f7d2b28983c31f75b11a99436634f8db5ae5e5b41d2fc548ead0835e173e6805df7bdfbf014358c73535d8afe845a2a8c30d29b014de9bf8
6
+ metadata.gz: ef9cd9ba1e8703321b2cad8750c904047b9aae5fbf5aadd2f25a23da14e73ed1a1a778a277cc653c7fdba6f0280d06d0858b02f0cf4252b09bddb85c971de07a
7
+ data.tar.gz: 9558fcf118e4a16e7bf81baa81c10fc131eb8c0a37e125b8a1e515e4c1b47ab8adb17b0065a82812322421e672ebf2ade86c93c376c5b2eb456522e6419d8fc3
@@ -75,6 +75,14 @@ module Danger
75
75
  Danger::FileList.new(@git.diff.select { |diff| diff.type == "modified" }.map(&:path))
76
76
  end
77
77
 
78
+ # @!group Git Metadata
79
+ # List of renamed files
80
+ # @return [Array<Hash>] with keys `:before` and `:after`
81
+ #
82
+ def renamed_files
83
+ @git.renamed_files
84
+ end
85
+
78
86
  # @!group Git Metadata
79
87
  # The overall lines of code added/removed in the diff
80
88
  # @return [Fixnum]
@@ -19,6 +19,32 @@ module Danger
19
19
  self.log = repo.log.between(from, to)
20
20
  end
21
21
 
22
+ def renamed_files
23
+ # Get raw diff with --find-renames --diff-filter
24
+ # We need to pass --find-renames cause
25
+ # older versions of git don't use this flag as default
26
+ diff = exec(
27
+ "diff #{self.diff.from} #{self.diff.to} --find-renames --diff-filter=R"
28
+ ).lines.map { |line| line.tr("\n", "") }
29
+
30
+ before_name_regexp = /^rename from (.*)$/
31
+ after_name_regexp = /^rename to (.*)$/
32
+
33
+ # Extract old and new paths via regexp
34
+ diff.each_with_index.map do |line, index|
35
+ before_match = line.match(before_name_regexp)
36
+ next unless before_match
37
+
38
+ after_match = diff.fetch(index + 1, "").match(after_name_regexp)
39
+ next unless after_match
40
+
41
+ {
42
+ before: before_match.captures.first,
43
+ after: after_match.captures.first
44
+ }
45
+ end.compact
46
+ end
47
+
22
48
  def exec(string)
23
49
  require "open3"
24
50
  Dir.chdir(self.folder || ".") do
@@ -1,4 +1,4 @@
1
1
  module Danger
2
- VERSION = "5.2.0".freeze
2
+ VERSION = "5.2.1".freeze
3
3
  DESCRIPTION = "Like Unit Tests, but for your Team Culture.".freeze
4
4
  end
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: 5.2.0
4
+ version: 5.2.1
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: 2017-05-08 00:00:00.000000000 Z
12
+ date: 2017-05-09 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: claide