statuses.puml
PlantUML source of a sequence diagram from the Campsite Booking Platform project.
@startuml
ApplicationService -> StatusesRepository: index
activate StatusesRepository
StatusesRepository -> Cache: fetch(...)
activate Cache
StatusesRepository <- Cache: [<StatusEntity>, ...]\nor nil (if not found in cache)
deactivate Cache
ApplicationService <--- StatusesRepository: [<StatusEntity>, ...]
note left StatusesRepository: early return if cached
StatusesRepository -> Client: list_statuses(...)
activate Client
box "\nExternal service\n"
Client -> ProviderService: HTTP request
activate ProviderService
Client <- ProviderService: XML response
deactivate ProviderService
StatusesRepository <- Client: <Response>
deactivate Client
StatusesRepository -> StatusesRepository: map_to_entities
StatusesRepository -> Cache: store([<StatusEntity>, ...]
activate Cache
deactivate Cache
ApplicationService <- StatusesRepository: [<StatusEntity>, ...]
deactivate StatusesRepository
end box
@enduml
PlantUML draws diagrams from plain text.
Paste the source into the online server,
or render it locally with plantuml -tsvg statuses.puml.