class Services::Application::WeatherByAddress::Acl

ACL (Anti-Corruption Layer)

Shields the domain from external API data structures by translating raw response hashes into domain value objects. This is the classic DDD Anti-Corruption Layer pattern: the domain never sees Google’s JSON shape β€” only clean value objects.

All public methods are pure mappings β€” no side-effects, no I/O.

Example

acl      = Services::Application::WeatherByAddress::Acl.new
location = acl.build_location(geocode_response)
current  = acl.build_current_weather(raw_hash)