gauge-ruby 0.5.2 → 0.5.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,46 +0,0 @@
1
- # Copyright 2015 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 'protocol_buffers'
19
- require_relative 'api_pb'
20
-
21
- module Gauge
22
- # @api private
23
- module Connector
24
- GAUGE_PORT_ENV = "GAUGE_INTERNAL_PORT"
25
- HOST_NAME = '127.0.0.1'
26
- @@executionSocket = nil
27
-
28
-
29
- def self.execution_socket
30
- @@executionSocket
31
- end
32
-
33
- def self.make_connection
34
- @@executionSocket = TCPSocket.open(HOST_NAME, Runtime.port_from_env_variable(GAUGE_PORT_ENV))
35
- @@executionSocket.setsockopt(Socket::IPPROTO_TCP, Socket::TCP_NODELAY, 1)
36
- end
37
-
38
- def self.message_length(socket)
39
- ProtocolBuffers::Varint.decode socket
40
- end
41
-
42
- def self.step_value text
43
- return text.gsub(/(<.*?>)/, "{}")
44
- end
45
- end
46
- end
@@ -1,78 +0,0 @@
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 'lsp_services_pb'
19
- require_relative 'processors/step_positions_request_processor'
20
- require_relative 'processors/cache_file_processor'
21
- require_relative 'processors/step_names_request_processor'
22
- require_relative 'processors/stub_implementation_processor'
23
- require_relative 'processors/implementation_file_list_processor'
24
- require_relative 'processors/step_validation_request_processor'
25
- require_relative 'processors/refactor_step_request_processor'
26
- require_relative 'processors/step_name_request_processor'
27
- require_relative 'processors/implementation_glob_pattern_processor'
28
-
29
- module Gauge
30
- class LSPServer < Gauge::Messages::LspService::Service
31
- include Gauge::Processors
32
-
33
- def initialize(server)
34
- @server = server
35
- end
36
-
37
- def get_step_names(_request, _call)
38
- step_names_response
39
- end
40
-
41
- def cache_file(request, _call)
42
- cache_file_response(request)
43
- end
44
-
45
- def get_step_positions(request, _call)
46
- step_positions(request)
47
- end
48
-
49
- def get_implementation_files(_request, _call)
50
- implementation_files
51
- end
52
-
53
- def implement_stub(request, _call)
54
- implement_stub_response(request)
55
- end
56
-
57
- def validate_step(request, _call)
58
- step_validate_response(request)
59
- end
60
-
61
- def refactor(request, _call)
62
- refactor_response(request)
63
- end
64
-
65
- def get_step_name(request, _call)
66
- step_name_response(request)
67
- end
68
-
69
- def get_glob_patterns(_request, _call)
70
- implementation_glob_pattern_response
71
- end
72
-
73
- def kill_process(_request, _call)
74
- @server.stop
75
- exit(0)
76
- end
77
- end
78
- end
@@ -1,51 +0,0 @@
1
- # Generated by the protocol buffer compiler. DO NOT EDIT!
2
- # Source: lsp.proto for package 'gauge.messages'
3
- # Original file comments:
4
- # Copyright 2015 ThoughtWorks, Inc.
5
- #
6
- # This file is part of gauge-proto.
7
- #
8
- # gauge-proto is free software: you can redistribute it and/or modify
9
- # it under the terms of the GNU General Public License as published by
10
- # the Free Software Foundation, either version 3 of the License, or
11
- # (at your option) any later version.
12
- #
13
- # gauge-proto is distributed in the hope that it will be useful,
14
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
15
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
- # GNU General Public License for more details.
17
- #
18
- # You should have received a copy of the GNU General Public License
19
- # along with gauge-proto. If not, see <http://www.gnu.org/licenses/>.
20
- #
21
-
22
- require 'grpc'
23
- require 'lsp_pb'
24
-
25
- module Gauge
26
- module Messages
27
- module LspService
28
- class Service
29
-
30
- include GRPC::GenericService
31
-
32
- self.marshal_class_method = :encode
33
- self.unmarshal_class_method = :decode
34
- self.service_name = 'gauge.messages.lspService'
35
-
36
- rpc :GetStepNames, StepNamesRequest, StepNamesResponse
37
- rpc :CacheFile, CacheFileRequest, Empty
38
- rpc :GetStepPositions, StepPositionsRequest, StepPositionsResponse
39
- rpc :GetImplementationFiles, Empty, ImplementationFileListResponse
40
- rpc :ImplementStub, StubImplementationCodeRequest, FileDiff
41
- rpc :ValidateStep, StepValidateRequest, StepValidateResponse
42
- rpc :Refactor, RefactorRequest, RefactorResponse
43
- rpc :GetStepName, StepNameRequest, StepNameResponse
44
- rpc :GetGlobPatterns, Empty, ImplementationFileGlobPatternResponse
45
- rpc :KillProcess, KillProcessRequest, Empty
46
- end
47
-
48
- Stub = Service.rpc_stub_class
49
- end
50
- end
51
- end
@@ -1,61 +0,0 @@
1
- # Copyright 2015 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 'messages_pb'
19
- require_relative 'executor'
20
- require_relative 'table'
21
- Dir[File.join(File.dirname(__FILE__), 'processors/*.rb')].each {|file| require file}
22
-
23
- module Gauge
24
- # @api private
25
- class MessageProcessor
26
- extend Processors
27
-
28
- @processors = Hash.new
29
-
30
- @processors[:StepValidateRequest] = method(:process_step_validation_request)
31
- @processors[:ExecutionStarting] = method(:process_execution_start_request)
32
- @processors[:ExecutionEnding] = method(:process_execution_end_request)
33
- @processors[:SpecExecutionStarting] = method(:process_spec_execution_start_request)
34
- @processors[:SpecExecutionEnding] = method(:process_spec_execution_end_request)
35
- @processors[:ScenarioExecutionStarting] = method(:process_scenario_execution_start_request)
36
- @processors[:ScenarioExecutionEnding] = method(:process_scenario_execution_end_request)
37
- @processors[:StepExecutionStarting] = method(:process_step_execution_start_request)
38
- @processors[:StepExecutionEnding] = method(:process_step_execution_end_request)
39
- @processors[:ExecuteStep] = method(:process_execute_step_request)
40
- @processors[:StepNamesRequest] = method(:process_step_names_request)
41
- @processors[:KillProcessRequest] = method(:process_kill_processor_request)
42
- @processors[:SuiteDataStoreInit] = method(:process_datastore_init)
43
- @processors[:SpecDataStoreInit] = method(:process_datastore_init)
44
- @processors[:ScenarioDataStoreInit] = method(:process_datastore_init)
45
- @processors[:StepNameRequest] = method(:process_step_name_request)
46
- @processors[:RefactorRequest] = method(:refactor_step)
47
- @processors[:CacheFileRequest] = method(:process_cache_file_request)
48
- @processors[:StepPositionsRequest] = method(:process_step_positions_request)
49
- @processors[:ImplementationFileListRequest] = method(:process_implementation_file_list_request)
50
- @processors[:ImplementationFileGlobPatternRequest] = method(:process_implementation_glob_pattern_request)
51
- @processors[:StubImplementationCodeRequest] = method(:process_stub_implementation_code_request)
52
-
53
- def self.is_valid_message(message)
54
- return @processors.has_key? message.messageType
55
- end
56
-
57
- def self.process_message(message)
58
- @processors[message.messageType].call message
59
- end
60
- end
61
- end