PingPong.Registry (PingPong v0.1.0)

Copy Markdown View Source

Resolves service keys to service modules.

PingPong ships with built-in :discord, :telegram, and :mock services. Applications can add services, or override built-ins, with:

config :ping_pong,
  services: [
    email: MyApp.EmailService
  ]

Configured services are merged after built-ins, so a configured key takes precedence over a built-in key with the same name.

Summary

Functions

Returns all available service registrations.

Returns the service module registered for service.

Functions

all()

@spec all() :: keyword()

Returns all available service registrations.

The result includes built-in services and services configured under :ping_pong, :services.

get(service)

@spec get(atom()) :: module() | nil

Returns the service module registered for service.

Returns nil when the service is unknown.