route_guide 0.1.0

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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 915d1d24cfa64d36e922c6fb05e3880e59d130966661a0cc62279be198731c05
4
+ data.tar.gz: 3ce5fcbd844cc890781778cc15dc922c5d53fd4f9885f0a5394f1ef923e7993f
5
+ SHA512:
6
+ metadata.gz: 2f2b047ab7a5e51dbbf72a5e6cf30c935420291f0b1b88ded01000e0f2bf8607970711f86114bbdb3e21689cc4c66082e8ce785aebf5436d23800fb7b2c0268c
7
+ data.tar.gz: 12913483a21df373ae920220bee22cbb620597ab5981bcbade3f8a7ccc6dc71a697f66dca0c223d736c67adcfd40ed099d0b549b317bd2be8be2896801308bc9
data/.rspec ADDED
@@ -0,0 +1,3 @@
1
+ --format documentation
2
+ --color
3
+ --require spec_helper
data/.rubocop.yml ADDED
@@ -0,0 +1,13 @@
1
+ AllCops:
2
+ TargetRubyVersion: 2.6
3
+
4
+ Style/StringLiterals:
5
+ Enabled: true
6
+ EnforcedStyle: double_quotes
7
+
8
+ Style/StringLiteralsInInterpolation:
9
+ Enabled: true
10
+ EnforcedStyle: double_quotes
11
+
12
+ Layout/LineLength:
13
+ Max: 120
@@ -0,0 +1 @@
1
+ {"buildTargets":[],"launchTargets":[],"customConfigurationProvider":{"workspaceBrowse":{"browsePath":[],"compilerArgs":[]},"fileIndex":[]}}
@@ -0,0 +1,6 @@
1
+ make --dry-run --always-make --keep-going --print-directory
2
+ make: Entering directory `/Users/sylvancembaka/code/sylvance/grpc/route_guide'
3
+ make: Leaving directory `/Users/sylvancembaka/code/sylvance/grpc/route_guide'
4
+
5
+ make: *** No targets. Stop.
6
+
@@ -0,0 +1,3 @@
1
+ {
2
+ "makefile.extensionOutputFolder": "./.vscode"
3
+ }
@@ -0,0 +1,209 @@
1
+ make all --print-data-base --no-builtin-variables --no-builtin-rules --question
2
+ # GNU Make 3.81
3
+ # Copyright (C) 2006 Free Software Foundation, Inc.
4
+ # This is free software; see the source for copying conditions.
5
+ # There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
6
+ # PARTICULAR PURPOSE.
7
+
8
+ # This program built for i386-apple-darwin11.3.0
9
+
10
+
11
+ # Make data base, printed on Sat Jun 11 15:54:42 2022
12
+
13
+ # Variables
14
+
15
+ # automatic
16
+ <D = $(patsubst %/,%,$(dir $<))
17
+ # automatic
18
+ ?F = $(notdir $?)
19
+ # environment
20
+ VSCODE_LOG_NATIVE = false
21
+ # automatic
22
+ ?D = $(patsubst %/,%,$(dir $?))
23
+ # automatic
24
+ @D = $(patsubst %/,%,$(dir $@))
25
+ # automatic
26
+ @F = $(notdir $@)
27
+ # makefile
28
+ CURDIR := /Users/sylvancembaka/code/sylvance/grpc/route_guide
29
+ # makefile
30
+ SHELL = /bin/sh
31
+ # environment
32
+ VSCODE_NLS_CONFIG = {"locale":"en-gb","availableLanguages":{},"_languagePackSupport":true}
33
+ # environment
34
+ _ = /usr/bin/make
35
+ # makefile (from `Makefile', line 1)
36
+ MAKEFILE_LIST := Makefile
37
+ # environment
38
+ VSCODE_VERBOSE_LOGGING = true
39
+ # environment
40
+ __CFBundleIdentifier = com.microsoft.VSCode
41
+ # environment
42
+ VSCODE_IPC_HOOK_EXTHOST = /var/folders/4p/q6h4tmns22x5vtv0hsw6l8v00000gp/T/vscode-ipc-d7aeb1c1-9eab-44a3-89d1-756aea647156.sock
43
+ # environment
44
+ VSCODE_CWD = /
45
+ # environment
46
+ PATH = /usr/bin:/bin:/usr/sbin:/sbin
47
+ # environment
48
+ LaunchInstanceID = E6C66309-E4E7-40F5-B6A2-4D1A0D0F26CE
49
+ # environment
50
+ VSCODE_LOG_STACK = false
51
+ # environment
52
+ ELECTRON_RUN_AS_NODE = 1
53
+ # default
54
+ .FEATURES := target-specific order-only second-expansion else-if archives jobserver check-symlink
55
+ # environment
56
+ SSH_AUTH_SOCK = /private/tmp/com.apple.launchd.yxfNK9mIf6/Listeners
57
+ # automatic
58
+ %F = $(notdir $%)
59
+ # environment
60
+ VSCODE_PIPE_LOGGING = true
61
+ # environment
62
+ PWD = /Users/sylvancembaka/code/sylvance/grpc/route_guide
63
+ # environment
64
+ ORIGINAL_XDG_CURRENT_DESKTOP = undefined
65
+ # environment
66
+ VSCODE_AMD_ENTRYPOINT = vs/workbench/api/node/extensionHostProcess
67
+ # environment
68
+ HOME = /Users/sylvancembaka
69
+ # default
70
+ MAKEFILEPATH = $(shell /usr/bin/xcode-select -print-path 2>/dev/null || echo /Developer)/Makefiles
71
+ # environment
72
+ VSCODE_CODE_CACHE_PATH = /Users/sylvancembaka/Library/Application Support/Code/CachedData/c3511e6c69bb39013c4a4b7b9566ec1ca73fc4d5
73
+ # environment
74
+ LOGNAME = sylvancembaka
75
+ # environment
76
+ APPLICATION_INSIGHTS_NO_DIAGNOSTIC_CHANNEL = 1
77
+ # environment
78
+ VSCODE_HANDLES_UNCAUGHT_ERRORS = true
79
+ # automatic
80
+ ^D = $(patsubst %/,%,$(dir $^))
81
+ # environment
82
+ XPC_FLAGS = 0x0
83
+ # default
84
+ MAKE = $(MAKE_COMMAND)
85
+ # default
86
+ MAKECMDGOALS := all
87
+ # environment
88
+ SHLVL = 1
89
+ # default
90
+ MAKE_VERSION := 3.81
91
+ # environment
92
+ USER = sylvancembaka
93
+ # makefile
94
+ .DEFAULT_GOAL :=
95
+ # automatic
96
+ %D = $(patsubst %/,%,$(dir $%))
97
+ # default
98
+ MAKE_COMMAND := /Library/Developer/CommandLineTools/usr/bin/make
99
+ # default
100
+ .VARIABLES :=
101
+ # environment
102
+ TMPDIR = /var/folders/4p/q6h4tmns22x5vtv0hsw6l8v00000gp/T/
103
+ # automatic
104
+ *F = $(notdir $*)
105
+ # environment
106
+ VSCODE_IPC_HOOK = /Users/sylvancembaka/Library/Application Support/Code/1.67.2-main.sock
107
+ # makefile
108
+ MAKEFLAGS = Rrqp
109
+ # environment
110
+ MFLAGS = -Rrqp
111
+ # automatic
112
+ *D = $(patsubst %/,%,$(dir $*))
113
+ # environment
114
+ XPC_SERVICE_NAME = application.com.microsoft.VSCode.43616207.43616213
115
+ # automatic
116
+ +D = $(patsubst %/,%,$(dir $+))
117
+ # automatic
118
+ +F = $(notdir $+)
119
+ # environment
120
+ __CF_USER_TEXT_ENCODING = 0x1F6:0x0:0x0
121
+ # environment
122
+ COMMAND_MODE = unix2003
123
+ # default
124
+ MAKEFILES :=
125
+ # automatic
126
+ <F = $(notdir $<)
127
+ # environment
128
+ LC_ALL = C
129
+ # environment
130
+ SECURITYSESSIONID = 186b7
131
+ # automatic
132
+ ^F = $(notdir $^)
133
+ # default
134
+ SUFFIXES :=
135
+ # default
136
+ .INCLUDE_DIRS = /usr/local/include
137
+ # environment
138
+ MAKELEVEL := 0
139
+ # environment
140
+ LANG = C
141
+ # environment
142
+ VSCODE_PID = 692
143
+ # variable set hash-table stats:
144
+ # Load=64/1024=6%, Rehash=0, Collisions=1/87=1%
145
+
146
+ # Pattern-specific Variable Values
147
+
148
+ # No pattern-specific variable values.
149
+
150
+ # Directories
151
+
152
+ # . (device 16777234, inode 48140951): 21 files, no impossibilities.
153
+
154
+ # 21 files, no impossibilities in 1 directories.
155
+
156
+ # Implicit Rules
157
+
158
+ # No implicit rules.
159
+
160
+ # Files
161
+
162
+ # Not a target:
163
+ all:
164
+ # Command-line target.
165
+ # Implicit rule search has been done.
166
+ # File does not exist.
167
+ # File has not been updated.
168
+ # variable set hash-table stats:
169
+ # Load=0/32=0%, Rehash=0, Collisions=0/0=0%
170
+
171
+ # Not a target:
172
+ .SUFFIXES:
173
+ # Implicit rule search has not been done.
174
+ # Modification time never checked.
175
+ # File has not been updated.
176
+
177
+ # Not a target:
178
+ Makefile:
179
+ # Implicit rule search has been done.
180
+ # Last modified 2022-06-11 15:54:33
181
+ # File has been updated.
182
+ # Successfully updated.
183
+ # variable set hash-table stats:
184
+ # Load=0/32=0%, Rehash=0, Collisions=0/0=0%
185
+
186
+ # Not a target:
187
+ .DEFAULT:
188
+ # Implicit rule search has not been done.
189
+ # Modification time never checked.
190
+ # File has not been updated.
191
+
192
+ # files hash-table stats:
193
+ # Load=4/1024=0%, Rehash=0, Collisions=0/16=0%
194
+ # VPATH Search Paths
195
+
196
+ # No `vpath' search paths.
197
+
198
+ # No general (`VPATH' variable) search path.
199
+
200
+ # # of strings in strcache: 1
201
+ # # of strcache buffers: 1
202
+ # strcache size: total = 4096 / max = 4096 / min = 4096 / avg = 4096
203
+ # strcache free: total = 4087 / max = 4087 / min = 4087 / avg = 4087
204
+
205
+ # Finished Make data base on Sat Jun 11 15:54:42 2022
206
+
207
+
208
+ make: *** No rule to make target `all'. Stop.
209
+
data/CHANGELOG.md ADDED
@@ -0,0 +1,5 @@
1
+ ## [Unreleased]
2
+
3
+ ## [0.1.0] - 2022-06-11
4
+
5
+ - Initial release
data/Gemfile ADDED
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gemspec
6
+
7
+ gem "rake", "~> 13.0"
8
+ gem "rspec", "~> 3.0"
9
+ gem "rubocop", "~> 1.21"
data/Gemfile.lock ADDED
@@ -0,0 +1,62 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ route_guide (0.1.0)
5
+ grpc
6
+
7
+ GEM
8
+ remote: https://rubygems.org/
9
+ specs:
10
+ ast (2.4.2)
11
+ diff-lcs (1.5.0)
12
+ google-protobuf (3.21.1)
13
+ googleapis-common-protos-types (1.3.1)
14
+ google-protobuf (~> 3.14)
15
+ grpc (1.46.3)
16
+ google-protobuf (~> 3.19)
17
+ googleapis-common-protos-types (~> 1.0)
18
+ parallel (1.22.1)
19
+ parser (3.1.2.0)
20
+ ast (~> 2.4.1)
21
+ rainbow (3.1.1)
22
+ rake (13.0.6)
23
+ regexp_parser (2.5.0)
24
+ rexml (3.2.5)
25
+ rspec (3.11.0)
26
+ rspec-core (~> 3.11.0)
27
+ rspec-expectations (~> 3.11.0)
28
+ rspec-mocks (~> 3.11.0)
29
+ rspec-core (3.11.0)
30
+ rspec-support (~> 3.11.0)
31
+ rspec-expectations (3.11.0)
32
+ diff-lcs (>= 1.2.0, < 2.0)
33
+ rspec-support (~> 3.11.0)
34
+ rspec-mocks (3.11.1)
35
+ diff-lcs (>= 1.2.0, < 2.0)
36
+ rspec-support (~> 3.11.0)
37
+ rspec-support (3.11.0)
38
+ rubocop (1.30.1)
39
+ parallel (~> 1.10)
40
+ parser (>= 3.1.0.0)
41
+ rainbow (>= 2.2.2, < 4.0)
42
+ regexp_parser (>= 1.8, < 3.0)
43
+ rexml (>= 3.2.5, < 4.0)
44
+ rubocop-ast (>= 1.18.0, < 2.0)
45
+ ruby-progressbar (~> 1.7)
46
+ unicode-display_width (>= 1.4.0, < 3.0)
47
+ rubocop-ast (1.18.0)
48
+ parser (>= 3.1.1.0)
49
+ ruby-progressbar (1.11.0)
50
+ unicode-display_width (2.1.0)
51
+
52
+ PLATFORMS
53
+ arm64-darwin-20
54
+
55
+ DEPENDENCIES
56
+ rake (~> 13.0)
57
+ route_guide!
58
+ rspec (~> 3.0)
59
+ rubocop (~> 1.21)
60
+
61
+ BUNDLED WITH
62
+ 2.3.15
data/LICENSE.txt ADDED
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2022 sylvance_theone
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.
data/Makefile ADDED
@@ -0,0 +1,2 @@
1
+ build:
2
+ ./bin/build
data/README.md ADDED
@@ -0,0 +1,120 @@
1
+ # RouteGuide
2
+
3
+ Route Guide is a gem that helps you to find the route to your destination.
4
+
5
+ ## Installation
6
+
7
+ Install the gem and add to the application's Gemfile by executing:
8
+
9
+ $ bundle add route_guide
10
+
11
+ If bundler is not being used to manage dependencies, install the gem by executing:
12
+
13
+ $ gem install route_guide
14
+
15
+ ## Usage
16
+
17
+ You need to implement a server and a client. Then you can use this gem to connect between
18
+ the two.
19
+
20
+ ### Server side service implementation
21
+
22
+ 1. Create the service in `directions_service.rb`:
23
+
24
+ ```ruby
25
+ require 'grpc'
26
+ require 'route_guide'
27
+
28
+ class DirectionsService < RouteGuide::DirectionsService::Service
29
+ def direct_it(direction_req, _unused_call)
30
+ puts "Received direction request for #{direction_req}"
31
+ RouteGuide::DirectionsResponse.new(
32
+ directions: response.direction,
33
+ approximate_time_of_travel_in_hrs: response.approximate_time_of_travel_in_hrs,
34
+ approximate_distance_in_kms: response.approximate_distance_in_kms
35
+ )
36
+ end
37
+ end
38
+ ```
39
+
40
+ 2. Setup the gRPC server in `server.rb`:
41
+
42
+ ```ruby
43
+ #!/usr/bin/env ruby
44
+
45
+ require 'rubygems'
46
+ require 'route_guide'
47
+ require_relative 'directions_service'
48
+
49
+ class RouteGuideServer
50
+ class << self
51
+ def start
52
+ start_grpc_server
53
+ end
54
+
55
+ private
56
+
57
+ def start_grpc_server
58
+ @server = GRPC::RpcServer.new
59
+ @server.add_http2_port("0.0.0.0:50052", :this_port_is_insecure)
60
+ @server.handle(DirectionsService)
61
+ @server.run_till_terminated
62
+ end
63
+ end
64
+ end
65
+
66
+ RouteGuideServer.start
67
+ ```
68
+
69
+ 3. Run server with;
70
+
71
+ ```sh
72
+ bundle exec server.rb
73
+ ```
74
+
75
+ ### Client side
76
+
77
+ 1. Do a client RPC call:
78
+
79
+ ```ruby
80
+ #!/usr/bin/env ruby
81
+
82
+ require 'grpc'
83
+ require 'route_guide'
84
+
85
+ def test_single_call
86
+ stub = RouteGuide::DirectionsService::Stub.new('0.0.0.0:50052', :this_channel_is_insecure)
87
+ req = RouteGuide::DirectionsRequest.new(
88
+ current_location: 'current_location',
89
+ target_location: 'travel_location',
90
+ means_of_travel: 'means_of_travel'
91
+ )
92
+ resp_obj = stub.direct_it(req)
93
+ puts "Response: #{resp_obj}"
94
+ end
95
+
96
+ test_single_call
97
+ ```
98
+
99
+ Then run the client in a separate terminal.
100
+
101
+ ## Development
102
+
103
+ After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
104
+
105
+ To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and the created tag, and push the `.gem` file to [rubygems.org](https://rubygems.org).
106
+
107
+ ## Resources
108
+
109
+ - Building Micro-services using gRPC on Ruby
110
+ ```
111
+ https://medium.com/@shiladitya16/building-micro-services-using-grpc-on-ruby-41acb755ee06
112
+ ```
113
+
114
+ ## Contributing
115
+
116
+ Bug reports and pull requests are welcome on GitHub at https://github.com/Sylvance/route_guide.
117
+
118
+ ## License
119
+
120
+ The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
data/Rakefile ADDED
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "bundler/gem_tasks"
4
+ require "rspec/core/rake_task"
5
+
6
+ RSpec::Core::RakeTask.new(:spec)
7
+
8
+ require "rubocop/rake_task"
9
+
10
+ RuboCop::RakeTask.new
11
+
12
+ task default: %i[spec rubocop]
@@ -0,0 +1,17 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'grpc'
4
+ require 'route_guide'
5
+
6
+ def test_single_call
7
+ stub = RouteGuide::DirectionsService::Stub.new('0.0.0.0:50052', :this_channel_is_insecure)
8
+ req = RouteGuide::DirectionsRequest.new(
9
+ current_location: 'current_location',
10
+ target_location: 'travel_location',
11
+ means_of_travel: 'means_of_travel'
12
+ )
13
+ resp_obj = stub.direct_it(req)
14
+ puts "Response: #{resp_obj}"
15
+ end
16
+
17
+ test_single_call
@@ -0,0 +1,13 @@
1
+ require 'grpc'
2
+ require 'route_guide'
3
+
4
+ class DirectionsService < RouteGuide::DirectionsService::Service
5
+ def direct_it(direction_req, _unused_call)
6
+ puts "Received direction request for #{direction_req}"
7
+ RouteGuide::DirectionsResponse.new(
8
+ directions: response.direction,
9
+ approximate_time_of_travel_in_hrs: response.approximate_time_of_travel_in_hrs,
10
+ approximate_distance_in_kms: response.approximate_distance_in_kms
11
+ )
12
+ end
13
+ end
@@ -0,0 +1,24 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'rubygems'
4
+ require 'route_guide'
5
+ require_relative 'directions_service'
6
+
7
+ class RouteGuideServer
8
+ class << self
9
+ def start
10
+ start_grpc_server
11
+ end
12
+
13
+ private
14
+
15
+ def start_grpc_server
16
+ @server = GRPC::RpcServer.new
17
+ @server.add_http2_port("0.0.0.0:50052", :this_port_is_insecure)
18
+ @server.handle(DirectionsService)
19
+ @server.run_till_terminated
20
+ end
21
+ end
22
+ end
23
+
24
+ RouteGuideServer.start
@@ -0,0 +1,24 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # source: route_guide.proto
3
+
4
+ require 'google/protobuf'
5
+
6
+ Google::Protobuf::DescriptorPool.generated_pool.build do
7
+ add_file("route_guide.proto", :syntax => :proto3) do
8
+ add_message "route_guide.DirectionsRequest" do
9
+ optional :current_location, :string, 1
10
+ optional :target_location, :string, 2
11
+ optional :means_of_travel, :string, 3
12
+ end
13
+ add_message "route_guide.DirectionsResponse" do
14
+ optional :directions, :string, 1
15
+ optional :approximate_time_of_travel_in_hrs, :int32, 2
16
+ optional :approximate_distance_in_kms, :int32, 3
17
+ end
18
+ end
19
+ end
20
+
21
+ module RouteGuide
22
+ DirectionsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("route_guide.DirectionsRequest").msgclass
23
+ DirectionsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("route_guide.DirectionsResponse").msgclass
24
+ end
@@ -0,0 +1,22 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # Source: route_guide.proto for package 'route_guide'
3
+
4
+ require 'grpc'
5
+ require 'route_guide_pb'
6
+
7
+ module RouteGuide
8
+ module DirectionsService
9
+ class Service
10
+
11
+ include ::GRPC::GenericService
12
+
13
+ self.marshal_class_method = :encode
14
+ self.unmarshal_class_method = :decode
15
+ self.service_name = 'route_guide.DirectionsService'
16
+
17
+ rpc :direct_it, ::RouteGuide::DirectionsRequest, ::RouteGuide::DirectionsResponse
18
+ end
19
+
20
+ Stub = Service.rpc_stub_class
21
+ end
22
+ end
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ module RouteGuide
4
+ VERSION = "0.1.0"
5
+ end
@@ -0,0 +1,8 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "route_guide/version"
4
+
5
+ module RouteGuide
6
+ class Error < StandardError; end
7
+ # Your code goes here...
8
+ end
@@ -0,0 +1,19 @@
1
+ syntax = "proto3";
2
+
3
+ package route_guide;
4
+
5
+ service DirectionsService {
6
+ rpc direct_it(DirectionsRequest) returns (DirectionsResponse) {}
7
+ }
8
+
9
+ message DirectionsRequest {
10
+ string current_location = 1;
11
+ string target_location = 2;
12
+ string means_of_travel = 3;
13
+ }
14
+
15
+ message DirectionsResponse {
16
+ string directions = 1;
17
+ int32 approximate_time_of_travel_in_hrs = 2;
18
+ int32 approximate_distance_in_kms = 3;
19
+ }
@@ -0,0 +1,39 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "lib/route_guide/version"
4
+
5
+ Gem::Specification.new do |spec|
6
+ spec.name = "route_guide"
7
+ spec.version = RouteGuide::VERSION
8
+ spec.authors = ["sylvance_theone"]
9
+ spec.email = ["9350722+Sylvance@users.noreply.github.com"]
10
+
11
+ spec.summary = "Gem that demonstrates how to use gRPC in ruby."
12
+ spec.description = "Gem that demonstrates how to use gRPC in ruby."
13
+ spec.homepage = "https://github.com/Sylvance/route_guide"
14
+ spec.license = "MIT"
15
+ spec.required_ruby_version = ">= 2.6.0"
16
+
17
+ spec.metadata["allowed_push_host"] = "https://rubygems.org"
18
+
19
+ spec.metadata["homepage_uri"] = spec.homepage
20
+ spec.metadata["source_code_uri"] = "https://github.com/Sylvance/route_guide"
21
+ spec.metadata["changelog_uri"] = "https://github.com/Sylvance/route_guide/blob/main/CHANGELOG.md"
22
+
23
+ # Specify which files should be added to the gem when it is released.
24
+ # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
25
+ spec.files = Dir.chdir(__dir__) do
26
+ `git ls-files -z`.split("\x0").reject do |f|
27
+ (f == __FILE__) || f.match(%r{\A(?:(?:bin|test|spec|features)/|\.(?:git|travis|circleci)|appveyor)})
28
+ end
29
+ end
30
+ spec.bindir = "exe"
31
+ spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
32
+ spec.require_paths = ["lib"]
33
+
34
+ # Uncomment to register a new dependency of your gem
35
+ spec.add_dependency "grpc"
36
+
37
+ # For more information and examples about making a new gem, check out our
38
+ # guide at: https://bundler.io/guides/creating_gem.html
39
+ end
@@ -0,0 +1,4 @@
1
+ module RouteGuide
2
+ VERSION: String
3
+ # See the writing guide of rbs: https://github.com/ruby/rbs#guides
4
+ end
metadata ADDED
@@ -0,0 +1,84 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: route_guide
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - sylvance_theone
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2022-06-11 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: grpc
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ description: Gem that demonstrates how to use gRPC in ruby.
28
+ email:
29
+ - 9350722+Sylvance@users.noreply.github.com
30
+ executables: []
31
+ extensions: []
32
+ extra_rdoc_files: []
33
+ files:
34
+ - ".rspec"
35
+ - ".rubocop.yml"
36
+ - ".vscode/configurationCache.log"
37
+ - ".vscode/dryrun.log"
38
+ - ".vscode/settings.json"
39
+ - ".vscode/targets.log"
40
+ - CHANGELOG.md
41
+ - Gemfile
42
+ - Gemfile.lock
43
+ - LICENSE.txt
44
+ - Makefile
45
+ - README.md
46
+ - Rakefile
47
+ - examples/client.rb
48
+ - examples/directions_service.rb
49
+ - examples/server.rb
50
+ - lib/route_guide.rb
51
+ - lib/route_guide/route_guide_pb.rb
52
+ - lib/route_guide/route_guide_services_pb.rb
53
+ - lib/route_guide/version.rb
54
+ - proto/route_guide.proto
55
+ - route_guide.gemspec
56
+ - sig/route_guide.rbs
57
+ homepage: https://github.com/Sylvance/route_guide
58
+ licenses:
59
+ - MIT
60
+ metadata:
61
+ allowed_push_host: https://rubygems.org
62
+ homepage_uri: https://github.com/Sylvance/route_guide
63
+ source_code_uri: https://github.com/Sylvance/route_guide
64
+ changelog_uri: https://github.com/Sylvance/route_guide/blob/main/CHANGELOG.md
65
+ post_install_message:
66
+ rdoc_options: []
67
+ require_paths:
68
+ - lib
69
+ required_ruby_version: !ruby/object:Gem::Requirement
70
+ requirements:
71
+ - - ">="
72
+ - !ruby/object:Gem::Version
73
+ version: 2.6.0
74
+ required_rubygems_version: !ruby/object:Gem::Requirement
75
+ requirements:
76
+ - - ">="
77
+ - !ruby/object:Gem::Version
78
+ version: '0'
79
+ requirements: []
80
+ rubygems_version: 3.1.4
81
+ signing_key:
82
+ specification_version: 4
83
+ summary: Gem that demonstrates how to use gRPC in ruby.
84
+ test_files: []