Skip to content

Commit ed244f6

Browse files
Simplify .
1 parent e0ad3f9 commit ed244f6

File tree

6 files changed

+25
-14
lines changed

6 files changed

+25
-14
lines changed

context/getting-started.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ require "async/grpc/dispatcher_middleware"
109109
dispatcher = Async::GRPC::DispatcherMiddleware.new
110110

111111
service = GreeterService.new(GreeterInterface, "hello.Greeter")
112-
dispatcher.register("hello.Greeter", service)
112+
dispatcher.register(service)
113113
```
114114

115115
### Running a Server
@@ -152,7 +152,7 @@ Async do
152152
# Setup server
153153
endpoint = Async::HTTP::Endpoint.parse("http://localhost:50051")
154154
dispatcher = Async::GRPC::DispatcherMiddleware.new
155-
dispatcher.register("hello.Greeter", GreeterService.new(GreeterInterface, "hello.Greeter"))
155+
dispatcher.register(GreeterService.new(GreeterInterface, "hello.Greeter"))
156156
server = Async::HTTP::Server.for(endpoint, dispatcher)
157157

158158
# Setup client

guides/getting-started/readme.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ require "async/grpc/dispatcher_middleware"
109109
dispatcher = Async::GRPC::DispatcherMiddleware.new
110110

111111
service = GreeterService.new(GreeterInterface, "hello.Greeter")
112-
dispatcher.register("hello.Greeter", service)
112+
dispatcher.register(service)
113113
```
114114

115115
### Running a Server
@@ -152,7 +152,7 @@ Async do
152152
# Setup server
153153
endpoint = Async::HTTP::Endpoint.parse("http://localhost:50051")
154154
dispatcher = Async::GRPC::DispatcherMiddleware.new
155-
dispatcher.register("hello.Greeter", GreeterService.new(GreeterInterface, "hello.Greeter"))
155+
dispatcher.register(GreeterService.new(GreeterInterface, "hello.Greeter"))
156156
server = Async::HTTP::Server.for(endpoint, dispatcher)
157157

158158
# Setup client

lib/async/grpc/dispatcher_middleware.rb

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@ module GRPC
2222
#
2323
# @example Registering services:
2424
# dispatcher = DispatcherMiddleware.new
25-
# dispatcher.register("hello.Greeter", GreeterService.new(GreeterInterface, "hello.Greeter"))
26-
# dispatcher.register("world.Greeter", WorldService.new(WorldInterface, "world.Greeter"))
25+
# dispatcher.register(GreeterService.new(GreeterInterface, "hello.Greeter"))
26+
# dispatcher.register(WorldService.new(WorldInterface, "world.Greeter"))
2727
#
2828
# server = Async::HTTP::Server.for(endpoint, dispatcher)
2929
class DispatcherMiddleware < Protocol::GRPC::Middleware
@@ -35,12 +35,12 @@ def initialize(app = nil, services: {})
3535
@services = services
3636
end
3737

38-
# Register a service.
39-
# @parameter service_name [String] Service name (e.g., "hello.Greeter")
40-
# @parameter service [Async::GRPC::Service] Service instance
41-
def register(service_name, service)
42-
@services[service_name] = service
43-
end
38+
# Register a service.
39+
# @parameter service [Async::GRPC::Service] Service instance
40+
# @parameter name [String] Service name (defaults to service.service_name)
41+
def register(service, name: service.service_name)
42+
@services[name] = service
43+
end
4444

4545
protected
4646

lib/async/grpc/service.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ module GRPC
3333
#
3434
# # Register with dispatcher:
3535
# dispatcher = DispatcherMiddleware.new
36-
# dispatcher.register("hello.Greeter", GreeterService.new(GreeterInterface, "hello.Greeter"))
36+
# dispatcher.register(GreeterService.new(GreeterInterface, "hello.Greeter"))
3737
# server = Async::HTTP::Server.for(endpoint, dispatcher)
3838
class Service
3939
# Initialize a new service instance.

releases.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
# Releases
22

3+
## Unreleased
4+
5+
- Simplified `DispatcherMiddleware#register` API to `register(service, name: service.service_name)`, eliminating redundant service name specification.
6+
37
## v0.2.0
48

59
- Added `Async::GRPC::RemoteError` class to encapsulate remote error details including message and backtrace extracted from response headers.

test/async/grpc/dispatcher_middleware.rb

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,16 @@
2020
with "#register" do
2121
it "can register a service" do
2222
dispatcher = subject.new
23-
dispatcher.register(service_name, service)
23+
dispatcher.register(service)
2424
expect(dispatcher.instance_variable_get(:@services)[service_name]).to be == service
2525
end
26+
27+
it "can register a service with custom name" do
28+
dispatcher = subject.new
29+
custom_name = "custom.Service"
30+
dispatcher.register(service, name: custom_name)
31+
expect(dispatcher.instance_variable_get(:@services)[custom_name]).to be == service
32+
end
2633
end
2734

2835
with "#call" do

0 commit comments

Comments
 (0)