danger 5.2.0 → 5.2.1

Sign up to get free protection for your applications and to get access to all the features.
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