danger 0.8.2 → 0.8.3
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/README.md +7 -1
- data/lib/danger.rb +1 -0
- data/lib/danger/ci_source/ci_source.rb +2 -0
- data/lib/danger/commands/init.rb +8 -9
- data/lib/danger/commands/init_helpers/interviewer.rb +17 -13
- data/lib/danger/commands/local.rb +6 -6
- data/lib/danger/commands/new_plugin.rb +10 -10
- data/lib/danger/commands/runner.rb +6 -2
- data/lib/danger/danger_core/dangerfile.rb +44 -32
- data/lib/danger/danger_core/plugins/dangerfile_messaging_plugin.rb +0 -4
- data/lib/danger/request_source/github.rb +28 -19
- data/lib/danger/scm_source/git_repo.rb +4 -0
- data/lib/danger/version.rb +1 -1
- metadata +52 -38
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e4921ce4e3c1ab439ca418a004aac9ee64d6e7ed
|
4
|
+
data.tar.gz: e3065925be50c02d3b800f0a824fead466d4f84e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 336014b027d584aac76ed805f4f790cd35af88c22a85d1ee704de3321bd203af6e3cf236b78962c825e33d881048782903193e436b16180fc7f10357a3b23529
|
7
|
+
data.tar.gz: be97d88ff2b2f6749aebc7a3d2149e3df5439d6c3b4375f66a46ee5e13c356ce75fd7f14e9646413c8d82866eb913f5b2357e933f2fb1cd73219fee34b89a7da
|
data/README.md
CHANGED
@@ -25,7 +25,13 @@ Add this line to your application's [Gemfile](https://guides.cocoapods.org/using
|
|
25
25
|
gem 'danger'
|
26
26
|
```
|
27
27
|
|
28
|
-
|
28
|
+
Then use Bundler to install the gem.
|
29
|
+
|
30
|
+
```shell
|
31
|
+
bundle install
|
32
|
+
```
|
33
|
+
|
34
|
+
Then, to get up and running quickly, just run
|
29
35
|
|
30
36
|
```
|
31
37
|
bundle exec danger init
|
data/lib/danger.rb
CHANGED
data/lib/danger/commands/init.rb
CHANGED
@@ -7,6 +7,8 @@ module Danger
|
|
7
7
|
self.summary = 'Helps you set up Danger.'
|
8
8
|
self.command = 'init'
|
9
9
|
|
10
|
+
attr_accessor :ui
|
11
|
+
|
10
12
|
def self.options
|
11
13
|
[
|
12
14
|
['--impatient', "'I've not got all day here. Don't add any thematic delays please.'"],
|
@@ -15,14 +17,14 @@ module Danger
|
|
15
17
|
end
|
16
18
|
|
17
19
|
def initialize(argv)
|
18
|
-
ui.no_delay = argv.flag?('impatient', false)
|
19
|
-
ui.no_waiting = argv.flag?('mousey', false)
|
20
20
|
@bot_name = File.basename(Dir.getwd).split(".").first.capitalize + "Bot"
|
21
21
|
super
|
22
|
+
@ui = Interviewer.new(cork)
|
23
|
+
ui.no_delay = argv.flag?('impatient', false)
|
24
|
+
ui.no_waiting = argv.flag?('mousey', false)
|
22
25
|
end
|
23
26
|
|
24
27
|
def run
|
25
|
-
ui = Interviewer.new
|
26
28
|
ui.say "\nOK, thanks #{ENV['LOGNAME']}, have a seat and we'll get you started.\n".yellow
|
27
29
|
ui.pause 1
|
28
30
|
|
@@ -38,10 +40,6 @@ module Danger
|
|
38
40
|
thanks
|
39
41
|
end
|
40
42
|
|
41
|
-
def ui
|
42
|
-
@ui ||= Interviewer.new
|
43
|
-
end
|
44
|
-
|
45
43
|
def show_todo_state
|
46
44
|
ui.say "We need to do the following:\n"
|
47
45
|
ui.pause 0.6
|
@@ -134,8 +132,9 @@ module Danger
|
|
134
132
|
end
|
135
133
|
|
136
134
|
def current_repo_slug
|
137
|
-
@
|
138
|
-
@
|
135
|
+
@git = GitRepo.new
|
136
|
+
repo_matches = @git.origins.match(%r{([\/:])([^\/]+\/[^\/.]+)(?:.git)?$})
|
137
|
+
repo_matches[2] || "[Your/Repo]"
|
139
138
|
end
|
140
139
|
|
141
140
|
def setup_danger_ci
|
@@ -1,9 +1,13 @@
|
|
1
1
|
module Danger
|
2
2
|
class Interviewer
|
3
|
-
attr_accessor :no_delay, :no_waiting
|
3
|
+
attr_accessor :no_delay, :no_waiting, :ui
|
4
|
+
|
5
|
+
def initialize(cork_board)
|
6
|
+
@ui = cork_board
|
7
|
+
end
|
4
8
|
|
5
9
|
def show_prompt
|
6
|
-
print "> ".bold.green
|
10
|
+
ui.print "> ".bold.green
|
7
11
|
end
|
8
12
|
|
9
13
|
def yellow_bang
|
@@ -19,7 +23,7 @@ module Danger
|
|
19
23
|
end
|
20
24
|
|
21
25
|
def say(output)
|
22
|
-
puts output
|
26
|
+
ui.puts output
|
23
27
|
end
|
24
28
|
|
25
29
|
def header(title)
|
@@ -39,40 +43,40 @@ module Danger
|
|
39
43
|
def wait_for_return
|
40
44
|
STDOUT.flush
|
41
45
|
STDIN.gets unless @no_delay
|
42
|
-
puts
|
46
|
+
ui.puts
|
43
47
|
end
|
44
48
|
|
45
49
|
def run_command(command, output_command = nil)
|
46
50
|
output_command ||= command
|
47
|
-
puts " " + output_command.magenta
|
51
|
+
ui.puts " " + output_command.magenta
|
48
52
|
system command
|
49
53
|
end
|
50
54
|
|
51
55
|
def ask(question)
|
52
56
|
answer = ""
|
53
57
|
loop do
|
54
|
-
puts "\n#{question}?"
|
58
|
+
ui.puts "\n#{question}?"
|
55
59
|
|
56
60
|
show_prompt
|
57
61
|
answer = STDIN.gets.chomp
|
58
62
|
|
59
63
|
break if answer.empty?
|
60
64
|
|
61
|
-
print "\nYou need to provide an answer."
|
65
|
+
ui.print "\nYou need to provide an answer."
|
62
66
|
end
|
63
67
|
answer
|
64
68
|
end
|
65
69
|
|
66
70
|
def ask_with_answers(question, possible_answers)
|
67
|
-
print "\n#{question}? ["
|
71
|
+
ui.print "\n#{question}? ["
|
68
72
|
|
69
73
|
print_info = proc do
|
70
74
|
possible_answers.each_with_index do |answer, i|
|
71
75
|
the_answer = (i == 0) ? answer.underline : answer
|
72
|
-
print " " + the_answer
|
73
|
-
print(" /") if i != possible_answers.length - 1
|
76
|
+
ui.print " " + the_answer
|
77
|
+
ui.print(" /") if i != possible_answers.length - 1
|
74
78
|
end
|
75
|
-
print " ]\n"
|
79
|
+
ui.print " ]\n"
|
76
80
|
end
|
77
81
|
print_info.call
|
78
82
|
|
@@ -88,12 +92,12 @@ module Danger
|
|
88
92
|
# default to first answer
|
89
93
|
if answer == ""
|
90
94
|
answer = possible_answers[0].downcase
|
91
|
-
puts "Using: " + answer.yellow
|
95
|
+
ui.puts "Using: " + answer.yellow
|
92
96
|
end
|
93
97
|
|
94
98
|
break if possible_answers.map(&:downcase).include? answer
|
95
99
|
|
96
|
-
print "\nPossible answers are ["
|
100
|
+
ui.print "\nPossible answers are ["
|
97
101
|
print_info.call
|
98
102
|
end
|
99
103
|
|
@@ -27,25 +27,25 @@ module Danger
|
|
27
27
|
ENV["LOCAL_GIT_PR_ID"] = @pr_num if @pr_num
|
28
28
|
|
29
29
|
env = EnvironmentManager.new(ENV)
|
30
|
-
dm = Dangerfile.new(env)
|
30
|
+
dm = Dangerfile.new(env, cork)
|
31
31
|
dm.init_plugins
|
32
32
|
|
33
33
|
source = dm.env.ci_source
|
34
34
|
if source.nil? or source.repo_slug.empty?
|
35
|
-
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
|
|
39
39
|
gh = dm.env.request_source
|
40
40
|
|
41
|
-
puts "Running your Dangerfile against this PR - https://#{gh.
|
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
|
-
puts "Turning on --verbose"
|
44
|
+
cork.puts "Turning on --verbose"
|
45
45
|
dm.verbose = true
|
46
46
|
end
|
47
47
|
|
48
|
-
puts
|
48
|
+
cork.puts
|
49
49
|
|
50
50
|
# We can use tokenless here, as it's running on someone's computer
|
51
51
|
# and is IP locked, as opposed to on the CI.
|
@@ -54,7 +54,7 @@ module Danger
|
|
54
54
|
begin
|
55
55
|
gh.fetch_details
|
56
56
|
rescue Octokit::NotFound
|
57
|
-
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
|
|
@@ -6,9 +6,9 @@ module Danger
|
|
6
6
|
def run
|
7
7
|
require 'fileutils'
|
8
8
|
|
9
|
-
puts "Must be lower case, and use a '_' between words. Do not use '.'".green
|
10
|
-
puts "examples: 'number_of_emojis', 'ensure_pr_title_contains_keyword'".green
|
11
|
-
puts "Name of your new plugin: "
|
9
|
+
cork.puts "Must be lower case, and use a '_' between words. Do not use '.'".green
|
10
|
+
cork.puts "examples: 'number_of_emojis', 'ensure_pr_title_contains_keyword'".green
|
11
|
+
cork.puts "Name of your new plugin: "
|
12
12
|
name = STDIN.gets.strip
|
13
13
|
|
14
14
|
dir = Danger.gem_path
|
@@ -22,13 +22,13 @@ module Danger
|
|
22
22
|
raise "File '#{output_path}' already exists!" if File.exist?(output_path)
|
23
23
|
File.write(output_path, content)
|
24
24
|
|
25
|
-
puts ""
|
26
|
-
puts "Successfully created new plugin at path '#{output_path}'".green
|
27
|
-
puts "Add this to your `Dangerfile` to use it:"
|
28
|
-
puts ""
|
29
|
-
puts "#{name}(parameter1: 123, parameter2: \"Club Mate\")".blue
|
30
|
-
puts ""
|
31
|
-
puts "Enjoy ✨"
|
25
|
+
cork.puts ""
|
26
|
+
cork.puts "Successfully created new plugin at path '#{output_path}'".green
|
27
|
+
cork.puts "Add this to your `Dangerfile` to use it:"
|
28
|
+
cork.puts ""
|
29
|
+
cork.puts "#{name}(parameter1: 123, parameter2: \"Club Mate\")".blue
|
30
|
+
cork.puts ""
|
31
|
+
cork.puts "Enjoy ✨"
|
32
32
|
end
|
33
33
|
end
|
34
34
|
end
|
@@ -10,12 +10,16 @@ module Danger
|
|
10
10
|
|
11
11
|
self.plugin_prefixes = %w(claide danger)
|
12
12
|
|
13
|
+
attr_accessor :cork
|
14
|
+
|
13
15
|
def initialize(argv)
|
14
16
|
dangerfile = argv.option('dangerfile', 'Dangerfile')
|
15
17
|
@dangerfile_path = dangerfile if File.exist? dangerfile
|
16
18
|
@base = argv.option('base')
|
17
19
|
@head = argv.option('head')
|
18
20
|
@danger_id = argv.option('danger_id', 'danger')
|
21
|
+
@cork = Cork::Board.new(silent: argv.option('silent', false),
|
22
|
+
verbose: argv.option('verbose', false))
|
19
23
|
super
|
20
24
|
end
|
21
25
|
|
@@ -37,7 +41,7 @@ module Danger
|
|
37
41
|
|
38
42
|
def run
|
39
43
|
env = EnvironmentManager.new(ENV)
|
40
|
-
dm = Dangerfile.new(env)
|
44
|
+
dm = Dangerfile.new(env, cork)
|
41
45
|
|
42
46
|
if dm.env.pr?
|
43
47
|
dm.verbose = verbose
|
@@ -61,7 +65,7 @@ module Danger
|
|
61
65
|
dm.env.clean_up
|
62
66
|
end
|
63
67
|
else
|
64
|
-
puts "Not a Pull Request - skipping `danger` run"
|
68
|
+
cork.puts "Not a Pull Request - skipping `danger` run"
|
65
69
|
end
|
66
70
|
end
|
67
71
|
|
@@ -14,7 +14,7 @@ module Danger
|
|
14
14
|
class Dangerfile
|
15
15
|
include Danger::Dangerfile::DSL
|
16
16
|
|
17
|
-
attr_accessor :env, :verbose, :plugins
|
17
|
+
attr_accessor :env, :verbose, :plugins, :ui
|
18
18
|
|
19
19
|
# @return [Pathname] the path where the Dangerfile was loaded from. It is nil
|
20
20
|
# if the Dangerfile was generated programmatically.
|
@@ -64,9 +64,10 @@ module Danger
|
|
64
64
|
super
|
65
65
|
end
|
66
66
|
|
67
|
-
def initialize(env_manager)
|
67
|
+
def initialize(env_manager, cork_board)
|
68
68
|
@plugins = {}
|
69
69
|
@core_plugins = []
|
70
|
+
@ui = cork_board
|
70
71
|
|
71
72
|
# Triggers the core plugins
|
72
73
|
@env = env_manager
|
@@ -140,9 +141,11 @@ module Danger
|
|
140
141
|
params[:rows] = rows.each { |current| current[0] = current[0].yellow }
|
141
142
|
params[:title] = "Danger v#{Danger::VERSION}\nDSL Attributes".green
|
142
143
|
|
143
|
-
|
144
|
-
|
145
|
-
|
144
|
+
ui.section('Info:') do
|
145
|
+
ui.puts
|
146
|
+
ui.puts Terminal::Table.new(params)
|
147
|
+
ui.puts
|
148
|
+
end
|
146
149
|
end
|
147
150
|
|
148
151
|
# Parses the file at a path, optionally takes the content of the file for DI
|
@@ -159,14 +162,14 @@ module Danger
|
|
159
162
|
|
160
163
|
if contents.tr!('“”‘’‛', %(""'''))
|
161
164
|
# Changes have been made
|
162
|
-
puts "Your #{path.basename} has had smart quotes sanitised. " \
|
163
|
-
|
164
|
-
|
165
|
-
|
165
|
+
ui.puts "Your #{path.basename} has had smart quotes sanitised. " \
|
166
|
+
'To avoid issues in the future, you should not use ' \
|
167
|
+
'TextEdit for editing it. If you are not using TextEdit, ' \
|
168
|
+
'you should turn off smart quotes in your editor of choice.'.red
|
166
169
|
end
|
167
170
|
|
168
171
|
if contents.include?("puts")
|
169
|
-
puts "You used `puts` in your Dangerfile. To print out text to GitHub use `message` instead"
|
172
|
+
ui.puts "You used `puts` in your Dangerfile. To print out text to GitHub use `message` instead"
|
170
173
|
end
|
171
174
|
|
172
175
|
self.defined_in_file = path
|
@@ -188,30 +191,39 @@ module Danger
|
|
188
191
|
status = status_report
|
189
192
|
return if (status[:errors] + status[:warnings] + status[:messages] + status[:markdowns]).count == 0
|
190
193
|
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
puts ""
|
207
|
-
puts Terminal::Table.new(params)
|
208
|
-
puts ""
|
209
|
-
end
|
194
|
+
ui.section('Results:') do
|
195
|
+
[:errors, :warnings, :messages].each do |key|
|
196
|
+
formatted = key.to_s.capitalize + ':'
|
197
|
+
title = case key
|
198
|
+
when :errors
|
199
|
+
formatted.red
|
200
|
+
when :warnings
|
201
|
+
formatted.yellow
|
202
|
+
else
|
203
|
+
formatted
|
204
|
+
end
|
205
|
+
rows = status[key]
|
206
|
+
print_list(title, rows)
|
207
|
+
end
|
210
208
|
|
211
|
-
|
212
|
-
|
213
|
-
|
209
|
+
if status[:markdowns].count > 0
|
210
|
+
ui.section('Markdown:') do
|
211
|
+
status[:markdowns].each do |current_markdown|
|
212
|
+
ui.puts current_markdown
|
213
|
+
end
|
214
|
+
end
|
215
|
+
end
|
214
216
|
end
|
215
217
|
end
|
218
|
+
|
219
|
+
private
|
220
|
+
|
221
|
+
def print_list(title, rows)
|
222
|
+
ui.title(title) do
|
223
|
+
rows.each do |row|
|
224
|
+
ui.puts("- [ ] #{row}")
|
225
|
+
end
|
226
|
+
end unless rows.empty?
|
227
|
+
end
|
216
228
|
end
|
217
229
|
end
|
@@ -19,7 +19,6 @@ module Danger
|
|
19
19
|
# The markdown based message to be printed below the table
|
20
20
|
def markdown(message)
|
21
21
|
@markdowns << message
|
22
|
-
puts "Printing markdown #{message}"
|
23
22
|
end
|
24
23
|
|
25
24
|
# @!group Core
|
@@ -31,7 +30,6 @@ module Danger
|
|
31
30
|
# defaults to `true`.
|
32
31
|
def message(message, sticky: true)
|
33
32
|
@messages << Violation.new(message, sticky)
|
34
|
-
puts "Printing message '#{message}'"
|
35
33
|
end
|
36
34
|
|
37
35
|
# @!group Core
|
@@ -44,7 +42,6 @@ module Danger
|
|
44
42
|
def warn(message, sticky: true)
|
45
43
|
return if should_ignore_violation(message)
|
46
44
|
@warnings << Violation.new(message, sticky)
|
47
|
-
puts "Printing warning '#{message}'"
|
48
45
|
end
|
49
46
|
|
50
47
|
# @!group Core
|
@@ -58,7 +55,6 @@ module Danger
|
|
58
55
|
def fail(message, sticky: true)
|
59
56
|
return if should_ignore_violation(message)
|
60
57
|
@errors << Violation.new(message, sticky)
|
61
|
-
puts "Raising error '#{message}'"
|
62
58
|
end
|
63
59
|
|
64
60
|
def status_report
|
@@ -38,15 +38,15 @@ module Danger
|
|
38
38
|
|
39
39
|
def setup_danger_branches
|
40
40
|
# we can use a github specific feature here:
|
41
|
-
|
42
|
-
|
41
|
+
base_commit = self.pr_json[:base][:sha]
|
42
|
+
head_commit = self.scm.head_commit
|
43
43
|
|
44
44
|
# Next, we want to ensure that we have a version of the current branch at a known location
|
45
|
-
self.scm.exec "branch #{EnvironmentManager.danger_base_branch} #{
|
45
|
+
self.scm.exec "branch #{EnvironmentManager.danger_base_branch} #{base_commit}"
|
46
46
|
|
47
47
|
# OK, so we want to ensure that we have a known head branch, this will always represent
|
48
48
|
# the head of the PR ( e.g. the most recent commit that will be merged. )
|
49
|
-
self.scm.exec "
|
49
|
+
self.scm.exec "branch #{EnvironmentManager.danger_head_branch} #{head_commit}"
|
50
50
|
end
|
51
51
|
|
52
52
|
def fetch_details
|
@@ -106,23 +106,32 @@ module Danger
|
|
106
106
|
details_url: comment_result['html_url'])
|
107
107
|
end
|
108
108
|
|
109
|
-
def submit_pull_request_status!(warnings:
|
109
|
+
def submit_pull_request_status!(warnings: [], errors: [], details_url: [])
|
110
110
|
status = (errors.count == 0 ? 'success' : 'failure')
|
111
111
|
message = generate_github_description(warnings: warnings, errors: errors)
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
112
|
+
|
113
|
+
latest_pr_commit_ref = self.pr_json[:head][:sha]
|
114
|
+
|
115
|
+
if latest_pr_commit_ref.empty? || latest_pr_commit_ref.nil?
|
116
|
+
raise "Couldn't find a commit to update its status".red
|
117
|
+
end
|
118
|
+
|
119
|
+
begin
|
120
|
+
client.create_status(ci_source.repo_slug, latest_pr_commit_ref, status, {
|
121
|
+
description: message,
|
122
|
+
context: "danger/danger",
|
123
|
+
target_url: details_url
|
124
|
+
})
|
125
|
+
rescue
|
126
|
+
# This usually means the user has no commit access to this repo
|
127
|
+
# That's always the case for open source projects where you can only
|
128
|
+
# use a read-only GitHub account
|
129
|
+
if errors.count > 0
|
130
|
+
# We need to fail the actual build here
|
131
|
+
abort("\nDanger has failed this build. \nFound #{'error'.danger_pluralize(errors.count)} and I don't have write access to the PR set a PR status.")
|
132
|
+
else
|
133
|
+
puts message
|
134
|
+
end
|
126
135
|
end
|
127
136
|
end
|
128
137
|
|
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.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Orta Therox
|
@@ -9,36 +9,36 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2016-06-
|
12
|
+
date: 2016-06-25 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: claide
|
16
16
|
requirement: !ruby/object:Gem::Requirement
|
17
17
|
requirements:
|
18
|
-
- - "
|
18
|
+
- - "~>"
|
19
19
|
- !ruby/object:Gem::Version
|
20
|
-
version: '0'
|
20
|
+
version: '1.0'
|
21
21
|
type: :runtime
|
22
22
|
prerelease: false
|
23
23
|
version_requirements: !ruby/object:Gem::Requirement
|
24
24
|
requirements:
|
25
|
-
- - "
|
25
|
+
- - "~>"
|
26
26
|
- !ruby/object:Gem::Version
|
27
|
-
version: '0'
|
27
|
+
version: '1.0'
|
28
28
|
- !ruby/object:Gem::Dependency
|
29
29
|
name: git
|
30
30
|
requirement: !ruby/object:Gem::Requirement
|
31
31
|
requirements:
|
32
|
-
- - "
|
32
|
+
- - "~>"
|
33
33
|
- !ruby/object:Gem::Version
|
34
|
-
version: '
|
34
|
+
version: '1'
|
35
35
|
type: :runtime
|
36
36
|
prerelease: false
|
37
37
|
version_requirements: !ruby/object:Gem::Requirement
|
38
38
|
requirements:
|
39
|
-
- - "
|
39
|
+
- - "~>"
|
40
40
|
- !ruby/object:Gem::Version
|
41
|
-
version: '
|
41
|
+
version: '1'
|
42
42
|
- !ruby/object:Gem::Dependency
|
43
43
|
name: colored
|
44
44
|
requirement: !ruby/object:Gem::Requirement
|
@@ -57,14 +57,14 @@ dependencies:
|
|
57
57
|
name: faraday
|
58
58
|
requirement: !ruby/object:Gem::Requirement
|
59
59
|
requirements:
|
60
|
-
- - "
|
60
|
+
- - "~>"
|
61
61
|
- !ruby/object:Gem::Version
|
62
62
|
version: '0'
|
63
63
|
type: :runtime
|
64
64
|
prerelease: false
|
65
65
|
version_requirements: !ruby/object:Gem::Requirement
|
66
66
|
requirements:
|
67
|
-
- - "
|
67
|
+
- - "~>"
|
68
68
|
- !ruby/object:Gem::Version
|
69
69
|
version: '0'
|
70
70
|
- !ruby/object:Gem::Dependency
|
@@ -109,6 +109,20 @@ dependencies:
|
|
109
109
|
- - "~>"
|
110
110
|
- !ruby/object:Gem::Version
|
111
111
|
version: '1'
|
112
|
+
- !ruby/object:Gem::Dependency
|
113
|
+
name: cork
|
114
|
+
requirement: !ruby/object:Gem::Requirement
|
115
|
+
requirements:
|
116
|
+
- - "~>"
|
117
|
+
- !ruby/object:Gem::Version
|
118
|
+
version: '0.1'
|
119
|
+
type: :runtime
|
120
|
+
prerelease: false
|
121
|
+
version_requirements: !ruby/object:Gem::Requirement
|
122
|
+
requirements:
|
123
|
+
- - "~>"
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
version: '0.1'
|
112
126
|
- !ruby/object:Gem::Dependency
|
113
127
|
name: bundler
|
114
128
|
requirement: !ruby/object:Gem::Requirement
|
@@ -141,72 +155,72 @@ dependencies:
|
|
141
155
|
name: rspec
|
142
156
|
requirement: !ruby/object:Gem::Requirement
|
143
157
|
requirements:
|
144
|
-
- - "
|
158
|
+
- - "~>"
|
145
159
|
- !ruby/object:Gem::Version
|
146
|
-
version: '
|
160
|
+
version: '3.4'
|
147
161
|
type: :development
|
148
162
|
prerelease: false
|
149
163
|
version_requirements: !ruby/object:Gem::Requirement
|
150
164
|
requirements:
|
151
|
-
- - "
|
165
|
+
- - "~>"
|
152
166
|
- !ruby/object:Gem::Version
|
153
|
-
version: '
|
167
|
+
version: '3.4'
|
154
168
|
- !ruby/object:Gem::Dependency
|
155
169
|
name: webmock
|
156
170
|
requirement: !ruby/object:Gem::Requirement
|
157
171
|
requirements:
|
158
|
-
- - "
|
172
|
+
- - "~>"
|
159
173
|
- !ruby/object:Gem::Version
|
160
|
-
version: '
|
174
|
+
version: '2.1'
|
161
175
|
type: :development
|
162
176
|
prerelease: false
|
163
177
|
version_requirements: !ruby/object:Gem::Requirement
|
164
178
|
requirements:
|
165
|
-
- - "
|
179
|
+
- - "~>"
|
166
180
|
- !ruby/object:Gem::Version
|
167
|
-
version: '
|
181
|
+
version: '2.1'
|
168
182
|
- !ruby/object:Gem::Dependency
|
169
183
|
name: pry
|
170
184
|
requirement: !ruby/object:Gem::Requirement
|
171
185
|
requirements:
|
172
|
-
- - "
|
186
|
+
- - "~>"
|
173
187
|
- !ruby/object:Gem::Version
|
174
|
-
version: '0'
|
188
|
+
version: '0.10'
|
175
189
|
type: :development
|
176
190
|
prerelease: false
|
177
191
|
version_requirements: !ruby/object:Gem::Requirement
|
178
192
|
requirements:
|
179
|
-
- - "
|
193
|
+
- - "~>"
|
180
194
|
- !ruby/object:Gem::Version
|
181
|
-
version: '0'
|
195
|
+
version: '0.10'
|
182
196
|
- !ruby/object:Gem::Dependency
|
183
197
|
name: rubocop
|
184
198
|
requirement: !ruby/object:Gem::Requirement
|
185
199
|
requirements:
|
186
200
|
- - "~>"
|
187
201
|
- !ruby/object:Gem::Version
|
188
|
-
version: 0.38
|
202
|
+
version: '0.38'
|
189
203
|
type: :development
|
190
204
|
prerelease: false
|
191
205
|
version_requirements: !ruby/object:Gem::Requirement
|
192
206
|
requirements:
|
193
207
|
- - "~>"
|
194
208
|
- !ruby/object:Gem::Version
|
195
|
-
version: 0.38
|
209
|
+
version: '0.38'
|
196
210
|
- !ruby/object:Gem::Dependency
|
197
211
|
name: yard
|
198
212
|
requirement: !ruby/object:Gem::Requirement
|
199
213
|
requirements:
|
200
|
-
- - "
|
214
|
+
- - "~>"
|
201
215
|
- !ruby/object:Gem::Version
|
202
|
-
version: '0'
|
216
|
+
version: '0.8'
|
203
217
|
type: :development
|
204
218
|
prerelease: false
|
205
219
|
version_requirements: !ruby/object:Gem::Requirement
|
206
220
|
requirements:
|
207
|
-
- - "
|
221
|
+
- - "~>"
|
208
222
|
- !ruby/object:Gem::Version
|
209
|
-
version: '0'
|
223
|
+
version: '0.8'
|
210
224
|
- !ruby/object:Gem::Dependency
|
211
225
|
name: listen
|
212
226
|
requirement: !ruby/object:Gem::Requirement
|
@@ -225,30 +239,30 @@ dependencies:
|
|
225
239
|
name: guard
|
226
240
|
requirement: !ruby/object:Gem::Requirement
|
227
241
|
requirements:
|
228
|
-
- - "
|
242
|
+
- - "~>"
|
229
243
|
- !ruby/object:Gem::Version
|
230
|
-
version: '
|
244
|
+
version: '2.14'
|
231
245
|
type: :development
|
232
246
|
prerelease: false
|
233
247
|
version_requirements: !ruby/object:Gem::Requirement
|
234
248
|
requirements:
|
235
|
-
- - "
|
249
|
+
- - "~>"
|
236
250
|
- !ruby/object:Gem::Version
|
237
|
-
version: '
|
251
|
+
version: '2.14'
|
238
252
|
- !ruby/object:Gem::Dependency
|
239
253
|
name: guard-rspec
|
240
254
|
requirement: !ruby/object:Gem::Requirement
|
241
255
|
requirements:
|
242
|
-
- - "
|
256
|
+
- - "~>"
|
243
257
|
- !ruby/object:Gem::Version
|
244
|
-
version: '
|
258
|
+
version: '4.7'
|
245
259
|
type: :development
|
246
260
|
prerelease: false
|
247
261
|
version_requirements: !ruby/object:Gem::Requirement
|
248
262
|
requirements:
|
249
|
-
- - "
|
263
|
+
- - "~>"
|
250
264
|
- !ruby/object:Gem::Version
|
251
|
-
version: '
|
265
|
+
version: '4.7'
|
252
266
|
description: Create a Dangerfile to introspect your pull request in CI, makes it easy
|
253
267
|
to enforce social conventions like changelogs and tests.
|
254
268
|
email:
|