diffend 0.2.30 → 0.2.35
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +1 -4
- data/.ruby-version +1 -1
- data/CHANGELOG.md +32 -1
- data/Gemfile +0 -2
- data/Gemfile.lock +12 -24
- data/config/diffend.yml +6 -0
- data/lib/diffend/build_bundler_definition.rb +1 -1
- data/lib/diffend/config.rb +73 -12
- data/lib/diffend/configs/fetcher.rb +67 -0
- data/lib/diffend/configs/validator.rb +85 -0
- data/lib/diffend/errors.rb +0 -4
- data/lib/diffend/execute.rb +21 -24
- data/lib/diffend/handle_errors/report.rb +9 -17
- data/lib/diffend/latest_version.rb +50 -0
- data/lib/diffend/local_context.rb +4 -5
- data/lib/diffend/local_context/diffend.rb +4 -4
- data/lib/diffend/local_context/host.rb +10 -2
- data/lib/diffend/local_context/packages.rb +2 -2
- data/lib/diffend/logger.rb +66 -0
- data/lib/diffend/monitor.rb +15 -8
- data/lib/diffend/plugin.rb +10 -48
- data/lib/diffend/request.rb +12 -11
- data/lib/diffend/request_verdict.rb +15 -22
- data/lib/diffend/track.rb +7 -20
- data/lib/diffend/version.rb +1 -1
- metadata +8 -6
- metadata.gz.sig +0 -0
- data/lib/diffend/config/fetcher.rb +0 -117
- data/lib/diffend/config/file_finder.rb +0 -38
- data/lib/diffend/config/validator.rb +0 -25
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: '0780c79922b3857482318780ad968af290af191fd0c59e032f9a0f94d671ad6d'
|
4
|
+
data.tar.gz: d2f91acc6e7ea5d3a59bd8b86c49c5c4d763eff6bf3af3ecf6b00d99730da36b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 15ec791f3eea3e174ad8a09d68f9f5b20511e9728c3f4481b9b2c97e377cdb5eb6e0faee215a24979b18f846e8a2bd01cc9569634c4307ccf448e4bcb73e035d
|
7
|
+
data.tar.gz: a5b7b8ab500fa6dcb187f46137d89337bc1f4bd3eaa006c5ba43dada667ffbce01ea61a68678a5f04a211b91cbdc8e73f55fcb3350db7bb74a93dc50d3051cd7
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data.tar.gz.sig
CHANGED
@@ -1,4 +1 @@
|
|
1
|
-
|
2
|
-
2A�.��I'�/W�pbB�d8|D|JV1�
|
3
|
-
�9�����V,@�3�V����H��9���Qk�9|��a�՟�dB�J�3��*h�����\~�~U�9o�{H�c��H���@�ۨ����.H��+�Q������Q��V��ޣ��ڕ������j�iY/�3B㻧������A���jK��3?��w�݀�]��$���K��`��?Y�sl��&eF�
|
4
|
-
llj��ժm���eE�En��l�6ԳQԠH�c�r��猁�h�T��u.�����;f��
|
1
|
+
�2��oa�)qN���Q�6���@`Sb-��8��!=4
|
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.7.
|
1
|
+
2.7.2
|
data/CHANGELOG.md
CHANGED
@@ -2,6 +2,32 @@
|
|
2
2
|
|
3
3
|
## [Unreleased][master]
|
4
4
|
|
5
|
+
## [0.2.35] (2020-11-04)
|
6
|
+
- clean command name and title of a process ([#76](https://github.com/diffend-io/diffend-ruby/pull/76))
|
7
|
+
- handle `uninitialized constant #<Class:Diffend::Configs::Fetcher>::ERB` ([#75](https://github.com/diffend-io/diffend-ruby/pull/75))
|
8
|
+
|
9
|
+
## [0.2.34] (2020-10-25)
|
10
|
+
- handle `Bundler::GitError` ([#72](https://github.com/diffend-io/diffend-ruby/pull/72))
|
11
|
+
|
12
|
+
## [0.2.33] (2020-10-25)
|
13
|
+
- fix an exception when configuration file is missing ([#65](https://github.com/diffend-io/diffend-ruby/pull/65))
|
14
|
+
- silently exit when configuration file is missing in `Diffend::Monitor` ([#66](https://github.com/diffend-io/diffend-ruby/pull/66))
|
15
|
+
- introduce default config ([#67](https://github.com/diffend-io/diffend-ruby/pull/67))
|
16
|
+
- handle `SocketError` ([#68](https://github.com/diffend-io/diffend-ruby/pull/68))
|
17
|
+
|
18
|
+
## [0.2.32] (2020-10-02)
|
19
|
+
- fix how we build platform from `Gem::Platform` ([#56](https://github.com/diffend-io/diffend-ruby/pull/56))
|
20
|
+
- introduce `Diffend::LatestVersion` ([#57](https://github.com/diffend-io/diffend-ruby/pull/57))
|
21
|
+
- refactor `Diffend::Config` ([#58](https://github.com/diffend-io/diffend-ruby/pull/58))
|
22
|
+
- set command in `Diffend::Config` ([#59](https://github.com/diffend-io/diffend-ruby/pull/59))
|
23
|
+
- introduce `Diffend::Logger` ([#60](https://github.com/diffend-io/diffend-ruby/pull/60))
|
24
|
+
- set severity to `FATAL` in `Diffend::Monitor` ([#61](https://github.com/diffend-io/diffend-ruby/pull/61))
|
25
|
+
- handle `Bundler::VersionConflict` ([#62](https://github.com/diffend-io/diffend-ruby/pull/62))
|
26
|
+
|
27
|
+
## [0.2.31] (2020-09-24)
|
28
|
+
- change request timeout to 15 seconds ([#53](https://github.com/diffend-io/diffend-ruby/pull/53))
|
29
|
+
- report request issues as warnings ([#54](https://github.com/diffend-io/diffend-ruby/pull/54))
|
30
|
+
|
5
31
|
## [0.2.30] (2020-09-21)
|
6
32
|
- handle dependencies resolve issues ([#51](https://github.com/diffend-io/diffend-ruby/pull/51))
|
7
33
|
- better detection when to start `Diffend::Monitor` ([#50](https://github.com/diffend-io/diffend-ruby/pull/50))
|
@@ -72,7 +98,12 @@
|
|
72
98
|
|
73
99
|
- initial release
|
74
100
|
|
75
|
-
[master]: https://github.com/diffend-io/diffend-ruby/compare/v0.2.
|
101
|
+
[master]: https://github.com/diffend-io/diffend-ruby/compare/v0.2.35...HEAD
|
102
|
+
[0.2.35]: https://github.com/diffend-io/diffend-ruby/compare/v0.2.34...v0.2.35
|
103
|
+
[0.2.34]: https://github.com/diffend-io/diffend-ruby/compare/v0.2.33...v0.2.34
|
104
|
+
[0.2.33]: https://github.com/diffend-io/diffend-ruby/compare/v0.2.32...v0.2.33
|
105
|
+
[0.2.32]: https://github.com/diffend-io/diffend-ruby/compare/v0.2.31...v0.2.32
|
106
|
+
[0.2.31]: https://github.com/diffend-io/diffend-ruby/compare/v0.2.30...v0.2.31
|
76
107
|
[0.2.30]: https://github.com/diffend-io/diffend-ruby/compare/v0.2.29...v0.2.30
|
77
108
|
[0.2.29]: https://github.com/diffend-io/diffend-ruby/compare/v0.2.28...v0.2.29
|
78
109
|
[0.2.28]: https://github.com/diffend-io/diffend-ruby/compare/v0.2.27...v0.2.28
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,36 +1,26 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
diffend (0.2.
|
4
|
+
diffend (0.2.35)
|
5
5
|
|
6
6
|
GEM
|
7
7
|
remote: https://rubygems.org/
|
8
8
|
specs:
|
9
|
-
byebug (11.1.3)
|
10
|
-
coderay (1.1.3)
|
11
9
|
diff-lcs (1.4.4)
|
12
|
-
ffi (1.13.1-java)
|
13
|
-
method_source (1.0.0)
|
14
|
-
pry (0.13.1-java)
|
15
|
-
coderay (~> 1.1)
|
16
|
-
method_source (~> 1.0)
|
17
|
-
spoon (~> 0.0)
|
18
10
|
rake (13.0.1)
|
19
|
-
rspec (3.
|
20
|
-
rspec-core (~> 3.
|
21
|
-
rspec-expectations (~> 3.
|
22
|
-
rspec-mocks (~> 3.
|
23
|
-
rspec-core (3.
|
24
|
-
rspec-support (~> 3.
|
25
|
-
rspec-expectations (3.
|
11
|
+
rspec (3.10.0)
|
12
|
+
rspec-core (~> 3.10.0)
|
13
|
+
rspec-expectations (~> 3.10.0)
|
14
|
+
rspec-mocks (~> 3.10.0)
|
15
|
+
rspec-core (3.10.0)
|
16
|
+
rspec-support (~> 3.10.0)
|
17
|
+
rspec-expectations (3.10.0)
|
26
18
|
diff-lcs (>= 1.2.0, < 2.0)
|
27
|
-
rspec-support (~> 3.
|
28
|
-
rspec-mocks (3.
|
19
|
+
rspec-support (~> 3.10.0)
|
20
|
+
rspec-mocks (3.10.0)
|
29
21
|
diff-lcs (>= 1.2.0, < 2.0)
|
30
|
-
rspec-support (~> 3.
|
31
|
-
rspec-support (3.
|
32
|
-
spoon (0.0.6)
|
33
|
-
ffi
|
22
|
+
rspec-support (~> 3.10.0)
|
23
|
+
rspec-support (3.10.0)
|
34
24
|
|
35
25
|
PLATFORMS
|
36
26
|
java
|
@@ -38,9 +28,7 @@ PLATFORMS
|
|
38
28
|
|
39
29
|
DEPENDENCIES
|
40
30
|
bundler
|
41
|
-
byebug
|
42
31
|
diffend!
|
43
|
-
pry
|
44
32
|
rake
|
45
33
|
rspec
|
46
34
|
|
data/config/diffend.yml
ADDED
@@ -0,0 +1,6 @@
|
|
1
|
+
project_id: <%= ENV['DIFFEND_PROJECT_ID'] %>
|
2
|
+
shareable_id: <%= ENV['DIFFEND_SHAREABLE_ID'] %>
|
3
|
+
shareable_key: <%= ENV['DIFFEND_SHAREABLE_KEY'] %>
|
4
|
+
env: <%= ENV['DIFFEND_ENV'] || 'development' %>
|
5
|
+
ignore_errors: <%= ENV['DIFFEND_IGNORE_ERRORS'] || 'true' %>
|
6
|
+
development: <%= ENV['DIFFEND_DEVELOPMENT'] || 'true' %>
|
@@ -6,7 +6,7 @@ module Diffend
|
|
6
6
|
class << self
|
7
7
|
# Build clean instance of bundler definition, as we don't want to pollute the main one
|
8
8
|
#
|
9
|
-
# @param command [String]
|
9
|
+
# @param command [String] command executed via bundler
|
10
10
|
# @param gemfile [String] path to Gemfile
|
11
11
|
# @param lockfile [String] path to Gemfile.lock
|
12
12
|
#
|
data/lib/diffend/config.rb
CHANGED
@@ -2,18 +2,79 @@
|
|
2
2
|
|
3
3
|
module Diffend
|
4
4
|
# Diffend config object
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
5
|
+
class Config
|
6
|
+
attr_reader :project_id, :shareable_id, :shareable_key, :build_path, :env, :command
|
7
|
+
|
8
|
+
# Build diffend config object
|
9
|
+
#
|
10
|
+
# @return [Diffend::Config]
|
11
|
+
def initialize(command: nil, severity: nil, build_path: nil)
|
12
|
+
@log_level = severity
|
13
|
+
build(command, build_path)
|
14
|
+
validate
|
15
|
+
end
|
16
|
+
|
17
|
+
def logger
|
18
|
+
@logger ||= Diffend::Logger.new(@log_level)
|
19
|
+
end
|
20
|
+
|
21
|
+
def ignore_errors?
|
22
|
+
@ignore_errors
|
23
|
+
end
|
24
|
+
|
25
|
+
def development?
|
26
|
+
@development
|
27
|
+
end
|
28
|
+
|
29
|
+
# Provides diffend commands endpoint url
|
30
|
+
#
|
31
|
+
# @return [String]
|
32
|
+
def commands_url
|
33
|
+
return ENV['DIFFEND_COMMANDS_URL'] if ENV.key?('DIFFEND_COMMANDS_URL')
|
34
|
+
|
35
|
+
"https://my.diffend.io/api/projects/#{project_id}/bundle/#{command}"
|
36
|
+
end
|
37
|
+
|
38
|
+
# Provides diffend errors endpoint url
|
39
|
+
#
|
40
|
+
# @return [String]
|
41
|
+
def errors_url
|
42
|
+
return ENV['DIFFEND_ERRORS_URL'] if ENV.key?('DIFFEND_ERRORS_URL')
|
43
|
+
|
44
|
+
"https://my.diffend.io/api/projects/#{project_id}/errors"
|
45
|
+
end
|
46
|
+
|
47
|
+
# @param request_id [String]
|
48
|
+
#
|
49
|
+
# @return [String]
|
50
|
+
def track_url(request_id)
|
51
|
+
"https://my.diffend.io/api/projects/#{project_id}/bundle/#{request_id}/track"
|
52
|
+
end
|
53
|
+
|
54
|
+
private
|
55
|
+
|
56
|
+
def build(command, build_path)
|
57
|
+
build_path ||= File.expand_path('..', ::Bundler.bin_path)
|
58
|
+
hash = Diffend::Configs::Fetcher.call(logger, plugin_path, build_path)
|
59
|
+
hash['build_path'] = build_path
|
60
|
+
hash['command'] = command || build_command
|
61
|
+
|
62
|
+
hash.each { |key, value| instance_variable_set(:"@#{key}", value) }
|
63
|
+
end
|
64
|
+
|
65
|
+
def validate
|
66
|
+
Diffend::Configs::Validator.call(self)
|
67
|
+
end
|
68
|
+
|
69
|
+
# Command that was run with bundle
|
70
|
+
#
|
71
|
+
# @return [String]
|
72
|
+
def build_command
|
73
|
+
ARGV.first || ::Bundler.feature_flag.default_cli_command.to_s
|
74
|
+
end
|
75
|
+
|
76
|
+
def plugin_path
|
77
|
+
Pathname.new(File.expand_path('../..', __dir__))
|
17
78
|
end
|
18
79
|
end
|
19
80
|
end
|
@@ -0,0 +1,67 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
%w[
|
4
|
+
erb
|
5
|
+
yaml
|
6
|
+
].each(&method(:require))
|
7
|
+
|
8
|
+
module Diffend
|
9
|
+
# Module for all the components related to setting up the config
|
10
|
+
module Configs
|
11
|
+
# Class responsible for fetching the config from .diffend.yml
|
12
|
+
module Fetcher
|
13
|
+
class << self
|
14
|
+
# @param logger [Diffend::Logger]
|
15
|
+
# @param plugin_path [String] path of the plugin
|
16
|
+
# @param build_path [String] path of the current build
|
17
|
+
#
|
18
|
+
# @return [Hash] details from configuration file
|
19
|
+
#
|
20
|
+
# @example
|
21
|
+
# details = Fetcher.new.call('./')
|
22
|
+
# details.build_path #=> './'
|
23
|
+
def call(logger, plugin_path, build_path)
|
24
|
+
build(plugin_path, build_path)
|
25
|
+
rescue Errors::MalformedConfigurationFile
|
26
|
+
build_malformed_error_message(build_path)
|
27
|
+
.tap(&logger.method(:fatal))
|
28
|
+
|
29
|
+
raise Diffend::Errors::HandledException
|
30
|
+
end
|
31
|
+
|
32
|
+
private
|
33
|
+
|
34
|
+
# @param plugin_path [String] path of the plugin
|
35
|
+
# @param build_path [String] path of the current build
|
36
|
+
#
|
37
|
+
# @return [OpenStruct] open struct with config details
|
38
|
+
def build(plugin_path, build_path)
|
39
|
+
default_config = File.join(plugin_path, 'config', 'diffend.yml')
|
40
|
+
project_config = File.join(build_path, '.diffend.yml')
|
41
|
+
|
42
|
+
hash = read_file(default_config)
|
43
|
+
|
44
|
+
if File.exist?(project_config)
|
45
|
+
hash.merge!(read_file(project_config) || {})
|
46
|
+
end
|
47
|
+
|
48
|
+
hash
|
49
|
+
end
|
50
|
+
|
51
|
+
def read_file(path)
|
52
|
+
YAML.safe_load(ERB.new(File.read(path)).result)
|
53
|
+
rescue Psych::SyntaxError
|
54
|
+
raise Errors::MalformedConfigurationFile
|
55
|
+
end
|
56
|
+
|
57
|
+
# @return [String] malformed configuration file message
|
58
|
+
def build_malformed_error_message
|
59
|
+
<<~MSG
|
60
|
+
\nYour Diffend configuration file is malformed.\n
|
61
|
+
Please re-setup.\n
|
62
|
+
MSG
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
@@ -0,0 +1,85 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Diffend
|
4
|
+
# Module for all the components related to setting up the config
|
5
|
+
module Configs
|
6
|
+
# Class responsible for validating the config from .diffend.yml
|
7
|
+
module Validator
|
8
|
+
KNOWN_KEYS = {
|
9
|
+
project_id: [String],
|
10
|
+
shareable_id: [String],
|
11
|
+
shareable_key: [String],
|
12
|
+
build_path: [String],
|
13
|
+
env: [String],
|
14
|
+
command: [String],
|
15
|
+
ignore_errors?: [TrueClass, FalseClass],
|
16
|
+
development?: [TrueClass, FalseClass]
|
17
|
+
}.freeze
|
18
|
+
|
19
|
+
class << self
|
20
|
+
# @param config [Diffend::Config]
|
21
|
+
def call(config)
|
22
|
+
KNOWN_KEYS.each_key do |key|
|
23
|
+
if missing?(config, key)
|
24
|
+
missing_key_message(key)
|
25
|
+
.tap(&config.logger.method(:fatal))
|
26
|
+
|
27
|
+
raise Diffend::Errors::HandledException
|
28
|
+
end
|
29
|
+
|
30
|
+
if invalid?(config, key)
|
31
|
+
invalid_key_message(config, key)
|
32
|
+
.tap(&config.logger.method(:fatal))
|
33
|
+
|
34
|
+
raise Diffend::Errors::HandledException
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
private
|
40
|
+
|
41
|
+
# @param config [Diffend::Config]
|
42
|
+
# @param key [String]
|
43
|
+
#
|
44
|
+
# @return [Boolean] true if we are missing a key, false otherwise
|
45
|
+
def missing?(config, key)
|
46
|
+
value = config.public_send(key)
|
47
|
+
|
48
|
+
value.nil? || (value.respond_to?(:empty?) && value.empty?)
|
49
|
+
end
|
50
|
+
|
51
|
+
# @param config [Diffend::Config]
|
52
|
+
# @param key [String]
|
53
|
+
#
|
54
|
+
# @return [Boolean] true if we are missing a key, false otherwise
|
55
|
+
def invalid?(config, key)
|
56
|
+
!KNOWN_KEYS[key].include?(config.public_send(key).class)
|
57
|
+
end
|
58
|
+
|
59
|
+
# Missing key message
|
60
|
+
#
|
61
|
+
# @param key [String] missing key
|
62
|
+
#
|
63
|
+
# @return [String]
|
64
|
+
def missing_key_message(key)
|
65
|
+
<<~MSG
|
66
|
+
\nDiffend configuration is missing #{key} key.\n
|
67
|
+
MSG
|
68
|
+
end
|
69
|
+
|
70
|
+
# Invalid key message
|
71
|
+
#
|
72
|
+
# @param hash [Hash] config hash
|
73
|
+
# @param key [String] invalid key
|
74
|
+
#
|
75
|
+
# @return [String]
|
76
|
+
def invalid_key_message(hash, key)
|
77
|
+
<<~MSG
|
78
|
+
\nDiffend configuration value for #{key} is invalid.\n
|
79
|
+
It should be #{KNOWN_KEYS[key].join(' or ')} but is #{hash.public_send(key).class}.\n
|
80
|
+
MSG
|
81
|
+
end
|
82
|
+
end
|
83
|
+
end
|
84
|
+
end
|
85
|
+
end
|
data/lib/diffend/errors.rb
CHANGED
@@ -5,10 +5,6 @@ module Diffend
|
|
5
5
|
module Errors
|
6
6
|
# Base error class from which all the errors should inherit
|
7
7
|
BaseError = Class.new(StandardError)
|
8
|
-
# Raised when we couldn't find a valid configuration file
|
9
|
-
MissingConfigurationFile = Class.new(BaseError)
|
10
|
-
# Raised when configuration file is empty
|
11
|
-
EmptyConfigurationFile = Class.new(BaseError)
|
12
8
|
# Raised when configuration file is malformed
|
13
9
|
MalformedConfigurationFile = Class.new(BaseError)
|
14
10
|
# Raised when project_id is missing in configuration file
|
data/lib/diffend/execute.rb
CHANGED
@@ -6,12 +6,11 @@ module Diffend
|
|
6
6
|
class << self
|
7
7
|
# Build verdict
|
8
8
|
#
|
9
|
-
# @param
|
10
|
-
|
11
|
-
def call(command, config)
|
9
|
+
# @param config [Diffend::Config]
|
10
|
+
def call(config)
|
12
11
|
Diffend::RequestVerdict
|
13
|
-
.call(
|
14
|
-
.tap { |response| build_message(
|
12
|
+
.call(config, build_definition(config.command))
|
13
|
+
.tap { |response| build_message(config, response) }
|
15
14
|
rescue Diffend::Errors::DependenciesResolveException
|
16
15
|
# We are unable to resolve dependencies, no message will be printed
|
17
16
|
end
|
@@ -27,14 +26,13 @@ module Diffend
|
|
27
26
|
)
|
28
27
|
end
|
29
28
|
|
30
|
-
# @param
|
31
|
-
# @param config [OpenStruct] diffend config
|
29
|
+
# @param config [Diffend::Config]
|
32
30
|
# @param response [Hash] response from diffend API
|
33
|
-
def build_message(
|
31
|
+
def build_message(config, response)
|
34
32
|
if response.key?('error')
|
35
|
-
build_error(response)
|
33
|
+
build_error(config, response)
|
36
34
|
elsif response.key?('action')
|
37
|
-
build_verdict(
|
35
|
+
build_verdict(config, response)
|
38
36
|
else
|
39
37
|
Diffend::HandleErrors::Report.call(
|
40
38
|
config: config,
|
@@ -48,25 +46,24 @@ module Diffend
|
|
48
46
|
# @param response [Hash] response from diffend API
|
49
47
|
def build_error(response)
|
50
48
|
build_error_message(response)
|
51
|
-
.tap(&
|
49
|
+
.tap(&config.logger.method(:error))
|
52
50
|
|
53
51
|
raise Diffend::Errors::HandledException
|
54
52
|
end
|
55
53
|
|
56
|
-
# @param
|
57
|
-
# @param config [OpenStruct] diffend config
|
54
|
+
# @param config [Diffend::Config]
|
58
55
|
# @param response [Hash] response from diffend API
|
59
|
-
def build_verdict(
|
56
|
+
def build_verdict(config, response)
|
60
57
|
case response['action']
|
61
58
|
when 'allow'
|
62
|
-
build_allow_message(command, response)
|
63
|
-
.tap(&
|
59
|
+
build_allow_message(config.command, response)
|
60
|
+
.tap(&config.logger.method(:info))
|
64
61
|
when 'warn'
|
65
|
-
build_warn_message(command, response)
|
66
|
-
.tap(&
|
62
|
+
build_warn_message(config.command, response)
|
63
|
+
.tap(&config.logger.method(:warn))
|
67
64
|
when 'deny'
|
68
|
-
build_deny_message(command, response)
|
69
|
-
.tap(&
|
65
|
+
build_deny_message(config.command, response)
|
66
|
+
.tap(&config.logger.method(:error))
|
70
67
|
|
71
68
|
exit 1
|
72
69
|
else
|
@@ -89,7 +86,7 @@ module Diffend
|
|
89
86
|
MSG
|
90
87
|
end
|
91
88
|
|
92
|
-
# @param command [String]
|
89
|
+
# @param command [String] command executed via bundler
|
93
90
|
# @param response [Hash] response from diffend API
|
94
91
|
#
|
95
92
|
# @return [String]
|
@@ -101,7 +98,7 @@ module Diffend
|
|
101
98
|
MSG
|
102
99
|
end
|
103
100
|
|
104
|
-
# @param command [String]
|
101
|
+
# @param command [String] command executed via bundler
|
105
102
|
# @param response [Hash] response from diffend API
|
106
103
|
#
|
107
104
|
# @return [String]
|
@@ -113,7 +110,7 @@ module Diffend
|
|
113
110
|
MSG
|
114
111
|
end
|
115
112
|
|
116
|
-
# @param command [String]
|
113
|
+
# @param command [String] command executed via bundler
|
117
114
|
# @param response [Hash] response from diffend API
|
118
115
|
#
|
119
116
|
# @return [String]
|
@@ -126,7 +123,7 @@ module Diffend
|
|
126
123
|
end
|
127
124
|
|
128
125
|
# @param type [String] verdict type
|
129
|
-
# @param command [String]
|
126
|
+
# @param command [String] command executed via bundler
|
130
127
|
#
|
131
128
|
# @return [String]
|
132
129
|
def build_message_header(type, command)
|