gauge-ruby 0.5.2 → 0.5.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 +5 -5
- data/lib/code_parser.rb +1 -1
- data/lib/configuration.rb +30 -9
- data/lib/executor.rb +3 -2
- data/lib/gauge.rb +1 -2
- data/lib/gauge_runtime.rb +7 -53
- data/lib/gauge_screenshot.rb +13 -3
- data/lib/log.rb +29 -11
- data/lib/messages_pb.rb +272 -238
- data/lib/processors/cache_file_processor.rb +1 -6
- data/lib/processors/datastore_init_processor.rb +19 -14
- data/lib/processors/execute_step_request_processor.rb +5 -5
- data/lib/processors/execution_handler.rb +18 -19
- data/lib/processors/execution_hook_processors.rb +16 -40
- data/lib/processors/implementation_file_list_processor.rb +1 -6
- data/lib/processors/implementation_glob_pattern_processor.rb +1 -10
- data/lib/processors/refactor_step_request_processor.rb +1 -7
- data/lib/processors/step_name_request_processor.rb +2 -7
- data/lib/processors/step_names_request_processor.rb +1 -7
- data/lib/processors/step_positions_request_processor.rb +2 -7
- data/lib/processors/step_validation_request_processor.rb +1 -8
- data/lib/processors/stub_implementation_processor.rb +1 -6
- data/lib/service_handlers.rb +122 -0
- data/lib/{lsp_pb.rb → services_pb.rb} +2 -3
- data/lib/services_services_pb.rb +165 -0
- data/lib/spec_pb.rb +233 -198
- data/lib/static_loader.rb +2 -2
- data/lib/util.rb +24 -14
- metadata +48 -34
- data/lib/api_pb.rb +0 -182
- data/lib/connector.rb +0 -46
- data/lib/lsp_server.rb +0 -78
- data/lib/lsp_services_pb.rb +0 -51
- data/lib/message_processor.rb +0 -61
@@ -22,12 +22,7 @@ require_relative '../method_cache'
|
|
22
22
|
module Gauge
|
23
23
|
# @api private
|
24
24
|
module Processors
|
25
|
-
def process_cache_file_request(
|
26
|
-
cache_file_response(message.cacheFileRequest)
|
27
|
-
nil
|
28
|
-
end
|
29
|
-
|
30
|
-
def cache_file_response(request)
|
25
|
+
def process_cache_file_request(request)
|
31
26
|
f = request.filePath
|
32
27
|
status = Messages::CacheFileRequest::FileStatus.resolve(request.status)
|
33
28
|
if (status == Messages::CacheFileRequest::FileStatus::CHANGED) || (status == Messages::CacheFileRequest::FileStatus::OPENED)
|
@@ -15,22 +15,27 @@
|
|
15
15
|
# You should have received a copy of the GNU General Public License
|
16
16
|
# along with Gauge-Ruby. If not, see <http://www.gnu.org/licenses/>.
|
17
17
|
|
18
|
-
require_relative
|
18
|
+
require_relative "../datastore"
|
19
19
|
|
20
20
|
module Gauge
|
21
|
-
# @api private
|
22
21
|
module Processors
|
23
|
-
def
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
22
|
+
def process_suite_data_store_init_request(_request)
|
23
|
+
DataStoreFactory.suite_datastore.clear
|
24
|
+
datastore_response
|
25
|
+
end
|
26
|
+
|
27
|
+
def process_spec_data_store_init_request(_request)
|
28
|
+
DataStoreFactory.spec_datastore.clear
|
29
|
+
datastore_response
|
30
|
+
end
|
31
|
+
|
32
|
+
def process_scenario_data_store_init_request(_request)
|
33
|
+
DataStoreFactory.scenario_datastore.clear
|
34
|
+
datastore_response
|
35
|
+
end
|
36
|
+
|
37
|
+
def datastore_response
|
38
|
+
Messages::ExecutionStatusResponse.new(:executionResult => Messages::ProtoExecutionResult.new(:failed => false, :executionTime => 0))
|
34
39
|
end
|
35
40
|
end
|
36
|
-
end
|
41
|
+
end
|
@@ -21,17 +21,17 @@ module Gauge
|
|
21
21
|
module Processors
|
22
22
|
include ExecutionHandler
|
23
23
|
|
24
|
-
def process_execute_step_request(
|
25
|
-
step_text =
|
26
|
-
parameters =
|
24
|
+
def process_execute_step_request(request)
|
25
|
+
step_text = request.parsedStepText
|
26
|
+
parameters = request.parameters
|
27
27
|
args = create_param_values parameters
|
28
28
|
start_time= Time.now
|
29
29
|
begin
|
30
30
|
Executor.execute_step step_text, args
|
31
31
|
rescue Exception => e
|
32
|
-
return handle_failure
|
32
|
+
return handle_failure e, time_elapsed_since(start_time), MethodCache.recoverable?(step_text)
|
33
33
|
end
|
34
|
-
handle_pass
|
34
|
+
handle_pass time_elapsed_since(start_time)
|
35
35
|
end
|
36
36
|
end
|
37
37
|
end
|
@@ -16,34 +16,35 @@
|
|
16
16
|
# along with Gauge-Ruby. If not, see <http://www.gnu.org/licenses/>.
|
17
17
|
|
18
18
|
require 'os'
|
19
|
+
require_relative '../table'
|
19
20
|
|
20
21
|
module Gauge
|
21
22
|
module Processors
|
22
23
|
# @api private
|
23
24
|
module ExecutionHandler
|
24
|
-
def handle_hooks_execution(hooks,
|
25
|
+
def handle_hooks_execution(hooks, currentExecutionInfo, should_filter=true)
|
25
26
|
start_time= Time.now
|
26
27
|
execution_error = Executor.execute_hooks(hooks, currentExecutionInfo, should_filter)
|
27
28
|
if execution_error == nil
|
28
|
-
return handle_pass
|
29
|
+
return handle_pass time_elapsed_since(start_time)
|
29
30
|
else
|
30
|
-
return handle_failure
|
31
|
+
return handle_failure execution_error, time_elapsed_since(start_time), false
|
31
32
|
end
|
32
33
|
end
|
33
34
|
|
34
|
-
def handle_pass(
|
35
|
+
def handle_pass(execution_time)
|
35
36
|
execution_status_response = Messages::ExecutionStatusResponse.new(:executionResult => Messages::ProtoExecutionResult.new(:failed => false, :executionTime => execution_time))
|
36
|
-
execution_status_response.executionResult.
|
37
|
+
execution_status_response.executionResult.screenshotFiles += Gauge::GaugeScreenshot.instance.pending_screenshot
|
37
38
|
execution_status_response.executionResult.message += Gauge::GaugeMessages.instance.pending_messages
|
38
|
-
|
39
|
+
execution_status_response
|
39
40
|
end
|
40
41
|
|
41
42
|
def get_filepath(stacktrace)
|
42
43
|
toptrace = stacktrace.split("\n").first
|
43
|
-
|
44
|
+
MethodCache.relative_filepath toptrace
|
44
45
|
end
|
45
46
|
|
46
|
-
def handle_failure(
|
47
|
+
def handle_failure(exception, execution_time, recoverable)
|
47
48
|
project_dir = File.basename(Dir.getwd)
|
48
49
|
stacktrace = exception.backtrace.select {|x| x.match(project_dir) && !x.match(File.join(project_dir, "vendor"))}.join("\n")+"\n"
|
49
50
|
filepath = get_filepath(stacktrace)
|
@@ -56,15 +57,13 @@ module Gauge
|
|
56
57
|
:errorMessage => exception.message,
|
57
58
|
:stackTrace => code_snippet + stacktrace,
|
58
59
|
:executionTime => execution_time))
|
59
|
-
|
60
|
-
if
|
61
|
-
execution_status_response.executionResult.
|
62
|
-
execution_status_response.executionResult.failureScreenshot = screenshot
|
60
|
+
screenshot_file = take_screenshot
|
61
|
+
if screenshot_file
|
62
|
+
execution_status_response.executionResult.failureScreenshotFile = screenshot_file
|
63
63
|
end
|
64
|
-
execution_status_response.executionResult.
|
64
|
+
execution_status_response.executionResult.screenshotFiles += Gauge::GaugeScreenshot.instance.pending_screenshot
|
65
65
|
execution_status_response.executionResult.message += Gauge::GaugeMessages.instance.pending_messages
|
66
|
-
|
67
|
-
:messageId => message.messageId, :executionStatusResponse => execution_status_response)
|
66
|
+
execution_status_response
|
68
67
|
end
|
69
68
|
|
70
69
|
def get_code_snippet(filename, number)
|
@@ -73,12 +72,12 @@ module Gauge
|
|
73
72
|
number.to_s + " | " + line.strip + "\n\n"
|
74
73
|
end
|
75
74
|
|
76
|
-
def
|
77
|
-
return nil if (ENV['screenshot_on_failure'] || "").downcase == "false" || (which("gauge_screenshot").nil? && !Configuration.instance.custom_screengrabber)
|
75
|
+
def take_screenshot
|
76
|
+
return nil if (ENV['screenshot_on_failure'] || "").downcase == "false" || (which("gauge_screenshot").nil? && !Configuration.instance.custom_screengrabber?)
|
78
77
|
begin
|
79
|
-
|
78
|
+
GaugeScreenshot.instance.capture_to_file
|
80
79
|
rescue Exception => e
|
81
|
-
|
80
|
+
GaugeLog.error e
|
82
81
|
return nil
|
83
82
|
end
|
84
83
|
end
|
@@ -25,63 +25,39 @@ module Gauge
|
|
25
25
|
module Processors
|
26
26
|
include ExecutionHandler
|
27
27
|
|
28
|
-
def process_execution_start_request(
|
28
|
+
def process_execution_start_request(request)
|
29
29
|
Gauge::MethodCache.clear
|
30
30
|
Executor.load_steps(Util.get_step_implementation_dir)
|
31
|
-
|
32
|
-
response.executionStatusResponse.executionResult.screenshots += Gauge::GaugeScreenshot.instance.pending_screenshot
|
33
|
-
response.executionStatusResponse.executionResult.message += Gauge::GaugeMessages.instance.pending_messages
|
34
|
-
return response
|
31
|
+
handle_hooks_execution(MethodCache.get_before_suite_hooks,request.currentExecutionInfo,false)
|
35
32
|
end
|
36
33
|
|
37
|
-
def process_execution_end_request(
|
38
|
-
|
39
|
-
response.executionStatusResponse.executionResult.screenshots += Gauge::GaugeScreenshot.instance.pending_screenshot
|
40
|
-
response.executionStatusResponse.executionResult.message += Gauge::GaugeMessages.instance.pending_messages
|
41
|
-
return response
|
34
|
+
def process_execution_end_request(request)
|
35
|
+
handle_hooks_execution(MethodCache.get_after_suite_hooks, request.currentExecutionInfo, false)
|
42
36
|
end
|
43
37
|
|
44
|
-
def process_spec_execution_start_request(
|
45
|
-
|
46
|
-
response.executionStatusResponse.executionResult.screenshots += Gauge::GaugeScreenshot.instance.pending_screenshot
|
47
|
-
response.executionStatusResponse.executionResult.message += Gauge::GaugeMessages.instance.pending_messages
|
48
|
-
return response
|
38
|
+
def process_spec_execution_start_request(request)
|
39
|
+
handle_hooks_execution(MethodCache.get_before_spec_hooks,request.currentExecutionInfo)
|
49
40
|
end
|
50
41
|
|
51
|
-
def process_spec_execution_end_request(
|
52
|
-
|
53
|
-
response.executionStatusResponse.executionResult.screenshots += Gauge::GaugeScreenshot.instance.pending_screenshot
|
54
|
-
response.executionStatusResponse.executionResult.message += Gauge::GaugeMessages.instance.pending_messages
|
55
|
-
return response
|
42
|
+
def process_spec_execution_end_request(request)
|
43
|
+
handle_hooks_execution(MethodCache.get_after_spec_hooks,request.currentExecutionInfo)
|
56
44
|
end
|
57
45
|
|
58
|
-
def process_scenario_execution_start_request(
|
59
|
-
|
60
|
-
response.executionStatusResponse.executionResult.screenshots += Gauge::GaugeScreenshot.instance.pending_screenshot
|
61
|
-
response.executionStatusResponse.executionResult.message += Gauge::GaugeMessages.instance.pending_messages
|
62
|
-
return response
|
46
|
+
def process_scenario_execution_start_request(request)
|
47
|
+
handle_hooks_execution(MethodCache.get_before_scenario_hooks,request.currentExecutionInfo)
|
63
48
|
end
|
64
49
|
|
65
50
|
|
66
|
-
def process_scenario_execution_end_request(
|
67
|
-
|
68
|
-
response.executionStatusResponse.executionResult.screenshots += Gauge::GaugeScreenshot.instance.pending_screenshot
|
69
|
-
response.executionStatusResponse.executionResult.message += Gauge::GaugeMessages.instance.pending_messages
|
70
|
-
return response
|
51
|
+
def process_scenario_execution_end_request(request)
|
52
|
+
handle_hooks_execution(MethodCache.get_after_scenario_hooks,request.currentExecutionInfo)
|
71
53
|
end
|
72
54
|
|
73
|
-
def process_step_execution_start_request(
|
74
|
-
|
75
|
-
response.executionStatusResponse.executionResult.screenshots += Gauge::GaugeScreenshot.instance.pending_screenshot
|
76
|
-
response.executionStatusResponse.executionResult.message += Gauge::GaugeMessages.instance.pending_messages
|
77
|
-
return response
|
55
|
+
def process_step_execution_start_request(request)
|
56
|
+
handle_hooks_execution(MethodCache.get_before_step_hooks,request.currentExecutionInfo)
|
78
57
|
end
|
79
58
|
|
80
|
-
def process_step_execution_end_request(
|
81
|
-
|
82
|
-
response.executionStatusResponse.executionResult.screenshots += Gauge::GaugeScreenshot.instance.pending_screenshot
|
83
|
-
response.executionStatusResponse.executionResult.message += Gauge::GaugeMessages.instance.pending_messages
|
84
|
-
return response
|
59
|
+
def process_step_execution_end_request(request)
|
60
|
+
handle_hooks_execution(MethodCache.get_after_step_hooks,request.currentExecutionInfo)
|
85
61
|
end
|
86
62
|
end
|
87
63
|
end
|
@@ -19,12 +19,7 @@ require_relative '../util'
|
|
19
19
|
|
20
20
|
module Gauge
|
21
21
|
module Processors
|
22
|
-
def process_implementation_file_list_request(
|
23
|
-
r = implementation_files()
|
24
|
-
Messages::Message.new(:messageType => :ImplementationFileListResponse, :messageId => message.messageId, :implementationFileListResponse => r)
|
25
|
-
end
|
26
|
-
|
27
|
-
def implementation_files()
|
22
|
+
def process_implementation_file_list_request(_request)
|
28
23
|
implPath = Util.get_step_implementation_dir
|
29
24
|
fileList = Dir["#{implPath}/**/*.rb"]
|
30
25
|
Messages::ImplementationFileListResponse.new(:implementationFilePaths => fileList)
|
@@ -19,16 +19,7 @@ require_relative '../util'
|
|
19
19
|
|
20
20
|
module Gauge
|
21
21
|
module Processors
|
22
|
-
def process_implementation_glob_pattern_request(
|
23
|
-
r = implementation_glob_pattern_response
|
24
|
-
Messages::Message.new(
|
25
|
-
messageType: Messages::Message::MessageType::ImplementationFileGlobPatternResponse,
|
26
|
-
messageId: message.messageId,
|
27
|
-
implementationFileGlobPatternResponse: r
|
28
|
-
)
|
29
|
-
end
|
30
|
-
|
31
|
-
def implementation_glob_pattern_response
|
22
|
+
def process_implementation_glob_pattern_request(_request)
|
32
23
|
implPath = Util.get_step_implementation_dir
|
33
24
|
Messages::ImplementationFileGlobPatternResponse.new(globPatterns: ["#{implPath}/**/*.rb"])
|
34
25
|
end
|
@@ -19,13 +19,7 @@ require_relative '../code_parser'
|
|
19
19
|
|
20
20
|
module Gauge
|
21
21
|
module Processors
|
22
|
-
def
|
23
|
-
request = message.refactorRequest
|
24
|
-
response = refactor_response(request)
|
25
|
-
Messages::Message.new(messageType: :RefactorResponse, messageId: message.messageId, refactorResponse: response)
|
26
|
-
end
|
27
|
-
|
28
|
-
def refactor_response(request)
|
22
|
+
def process_refactor_request(request)
|
29
23
|
response = Messages::RefactorResponse.new(success: true)
|
30
24
|
begin
|
31
25
|
step_info = get_step request.oldStepValue.stepValue
|
@@ -17,15 +17,10 @@
|
|
17
17
|
|
18
18
|
module Gauge
|
19
19
|
module Processors
|
20
|
-
def process_step_name_request(
|
21
|
-
r = step_name_response(message.stepNameRequest)
|
22
|
-
Messages::Message.new(messageType: :StepNameResponse, messageId: message.messageId, stepNameResponse: r)
|
23
|
-
end
|
24
|
-
|
25
|
-
def step_name_response(request)
|
20
|
+
def process_step_name_request(request)
|
26
21
|
step_value = request.stepValue
|
27
22
|
unless MethodCache.valid_step?(step_value)
|
28
|
-
return Messages::StepNameResponse.new(isStepPresent: false, stepName: [
|
23
|
+
return Messages::StepNameResponse.new(isStepPresent: false, stepName: [""], hasAlias: false, fileName: "", span: nil)
|
29
24
|
end
|
30
25
|
step_text = MethodCache.get_step_text(step_value)
|
31
26
|
has_alias = MethodCache.has_alias?(step_text)
|
@@ -17,13 +17,7 @@
|
|
17
17
|
|
18
18
|
module Gauge
|
19
19
|
module Processors
|
20
|
-
def process_step_names_request(
|
21
|
-
r = step_names_response
|
22
|
-
Messages::Message.new(messageType: :StepNamesResponse,
|
23
|
-
messageId: message.messageId, stepNamesResponse: r)
|
24
|
-
end
|
25
|
-
|
26
|
-
def step_names_response
|
20
|
+
def process_step_names_request(_request)
|
27
21
|
Messages::StepNamesResponse.new(steps: MethodCache.all_steps)
|
28
22
|
end
|
29
23
|
end
|
@@ -17,12 +17,7 @@
|
|
17
17
|
|
18
18
|
module Gauge
|
19
19
|
module Processors
|
20
|
-
def process_step_positions_request(
|
21
|
-
r = step_positions(message.stepPositionsRequest)
|
22
|
-
Messages::Message.new(:messageType => :StepPositionsResponse, :messageId => message.messageId, :stepPositionsResponse => r)
|
23
|
-
end
|
24
|
-
|
25
|
-
def step_positions(request)
|
20
|
+
def process_step_positions_request(request)
|
26
21
|
file = request.filePath
|
27
22
|
positions = MethodCache.step_positions(file)
|
28
23
|
p = create_step_position_messages(positions)
|
@@ -36,4 +31,4 @@ module Gauge
|
|
36
31
|
end
|
37
32
|
end
|
38
33
|
end
|
39
|
-
end
|
34
|
+
end
|
@@ -17,14 +17,7 @@
|
|
17
17
|
|
18
18
|
module Gauge
|
19
19
|
module Processors
|
20
|
-
def process_step_validation_request(
|
21
|
-
request = message.stepValidateRequest
|
22
|
-
Messages::Message.new(messageType: :StepValidateResponse,
|
23
|
-
messageId: message.messageId,
|
24
|
-
stepValidateResponse: step_validate_response(request))
|
25
|
-
end
|
26
|
-
|
27
|
-
def step_validate_response(request)
|
20
|
+
def process_step_validation_request(request)
|
28
21
|
response = Messages::StepValidateResponse.new(isValid: true)
|
29
22
|
if !MethodCache.valid_step? request.stepText
|
30
23
|
suggestion = request.stepValue.stepValue.empty? ? '' : create_suggestion(request.stepValue)
|
@@ -19,12 +19,7 @@ require_relative '../../lib/util'
|
|
19
19
|
|
20
20
|
module Gauge
|
21
21
|
module Processors
|
22
|
-
def process_stub_implementation_code_request(
|
23
|
-
file_diff = implement_stub_response(message.stubImplementationCodeRequest)
|
24
|
-
Messages::Message.new(messageType: :FileDiff, messageId: message.messageId, fileDiff: file_diff)
|
25
|
-
end
|
26
|
-
|
27
|
-
def implement_stub_response(request)
|
22
|
+
def process_stub_implementation_code_request(request)
|
28
23
|
codes = request.codes
|
29
24
|
file_path = request.implementationFilePath
|
30
25
|
content = ''
|
@@ -0,0 +1,122 @@
|
|
1
|
+
# Copyright 2018 ThoughtWorks, Inc.
|
2
|
+
|
3
|
+
# This file is part of Gauge-Ruby.
|
4
|
+
|
5
|
+
# Gauge-Ruby is free software: you can redistribute it and/or modify
|
6
|
+
# it under the terms of the GNU General Public License as published by
|
7
|
+
# the Free Software Foundation, either version 3 of the License, or
|
8
|
+
# (at your option) any later version.
|
9
|
+
|
10
|
+
# Gauge-Ruby is distributed in the hope that it will be useful,
|
11
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
12
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
13
|
+
# GNU General Public License for more details.
|
14
|
+
|
15
|
+
# You should have received a copy of the GNU General Public License
|
16
|
+
# along with Gauge-Ruby. If not, see <http://www.gnu.org/licenses/>.
|
17
|
+
|
18
|
+
require_relative "services_services_pb"
|
19
|
+
Dir[File.join(File.dirname(__FILE__), "processors/*.rb")].each { |file| require file }
|
20
|
+
|
21
|
+
module Gauge
|
22
|
+
class ExecutionHandler < Messages::Runner::Service
|
23
|
+
include Processors
|
24
|
+
|
25
|
+
def initialize(server)
|
26
|
+
@server = server
|
27
|
+
end
|
28
|
+
|
29
|
+
def initialize_suite_data_store(request, _call)
|
30
|
+
process_suite_data_store_init_request(request)
|
31
|
+
end
|
32
|
+
|
33
|
+
def initialize_spec_data_store(request, _call)
|
34
|
+
process_spec_data_store_init_request(request)
|
35
|
+
end
|
36
|
+
|
37
|
+
def initialize_scenario_data_store(request, _call)
|
38
|
+
process_scenario_data_store_init_request(request)
|
39
|
+
end
|
40
|
+
|
41
|
+
def start_execution(request, _call)
|
42
|
+
process_execution_start_request(request)
|
43
|
+
end
|
44
|
+
|
45
|
+
def finish_execution(request, _call)
|
46
|
+
process_execution_end_request(request)
|
47
|
+
end
|
48
|
+
|
49
|
+
def start_spec_execution(request, _call)
|
50
|
+
process_spec_execution_start_request(request)
|
51
|
+
end
|
52
|
+
|
53
|
+
def finish_spec_execution(request, _call)
|
54
|
+
process_spec_execution_end_request(request)
|
55
|
+
end
|
56
|
+
|
57
|
+
def start_scenario_execution(request, _call)
|
58
|
+
process_scenario_execution_start_request(request)
|
59
|
+
end
|
60
|
+
|
61
|
+
def finish_scenario_execution(request, _call)
|
62
|
+
process_scenario_execution_end_request(request)
|
63
|
+
end
|
64
|
+
|
65
|
+
def start_step_execution(request, _call)
|
66
|
+
process_step_execution_start_request(request)
|
67
|
+
end
|
68
|
+
|
69
|
+
def finish_step_execution(request, _call)
|
70
|
+
process_step_execution_end_request(request)
|
71
|
+
end
|
72
|
+
|
73
|
+
def execute_step(request, _call)
|
74
|
+
process_execute_step_request(request)
|
75
|
+
end
|
76
|
+
|
77
|
+
def get_step_names(request, _call)
|
78
|
+
process_step_names_request(request)
|
79
|
+
end
|
80
|
+
|
81
|
+
def cache_file(request, _call)
|
82
|
+
process_cache_file_request(request)
|
83
|
+
end
|
84
|
+
|
85
|
+
def get_step_positions(request, _call)
|
86
|
+
process_step_positions_request(request)
|
87
|
+
end
|
88
|
+
|
89
|
+
def get_implementation_files(request, _call)
|
90
|
+
process_implementation_file_list_request(request)
|
91
|
+
end
|
92
|
+
|
93
|
+
def implement_stub(request, _call)
|
94
|
+
process_stub_implementation_code_request(request)
|
95
|
+
end
|
96
|
+
|
97
|
+
def refactor(request, _call)
|
98
|
+
process_refactor_request(request)
|
99
|
+
end
|
100
|
+
|
101
|
+
def get_step_name(request, _call)
|
102
|
+
process_step_name_request(request)
|
103
|
+
end
|
104
|
+
|
105
|
+
def get_glob_patterns(request, _call)
|
106
|
+
process_implementation_glob_pattern_request(request)
|
107
|
+
end
|
108
|
+
|
109
|
+
def validate_step(request, _call)
|
110
|
+
process_step_validation_request(request)
|
111
|
+
end
|
112
|
+
|
113
|
+
def kill(_request, _call)
|
114
|
+
Thread.new do
|
115
|
+
sleep 0.1
|
116
|
+
@server.stop
|
117
|
+
exit(0)
|
118
|
+
end.run
|
119
|
+
Messages::Empty.new
|
120
|
+
end
|
121
|
+
end
|
122
|
+
end
|