How ehtterami/ip-truffle works
IP Truffle is a command-line IPv4 utility. A user invokes a command through main.php; translation inputs are parsed and converted, while subnet and network-ID commands delegate their calculations and display results. The README also documents CIDR/range translation. BannerFacade is included because the entry point invokes it, but its implementation was not sampled, so its internal wiring is not asserted.
Main entry points: main.php Command entry · TranslateFacade.php Translation facade · CalculateSubnet.php Subnet command · CalculateNetID.php Network ID command
Components 15
CLI entry
- Command entry
main.php - Translate command
main.php - Subnet command
src/Applications/CalculateSubnet.php - Network ID command
src/Applications/CalculateNetID.php
Address translation
- Translation facade
src/Facades/TranslateFacade.php - Input reader
src/Services/ReaderService.php - IPv4 translator
src/Services/TranslatorService.php
Network calculations
- Subnet facade
src/Facades/SubnetCalculatorFacade.php - Subnet calculator
src/Services/SubnetCalculatorService.php - Network ID facade
src/Facades/NetIDCalculatorFacade.php - Network ID calculator
src/Services/NetIDCalculatorService.php
Terminal presentation
- Banner facade
src/Facades/BannerFacade.php - Banner renderer
src/Services/BannerService.php
Other components
- CLI user
- Terminal
Connections 18
- CLI user → Command entry: invokes
- Command entry → Translate command: registers
- Command entry → Subnet command: registers
- Command entry → Network ID command: registers
- Command entry → Translate command: dispatches
- Command entry → Banner facade: renders banner
- Translate command → Translation facade: translates input
- Translation facade → Input reader: parses input
- Input reader → Translation facade: returns octets
- Translation facade → IPv4 translator: converts octets
- IPv4 translator → Translation facade: returns translation
- Subnet command → Subnet facade: requests subnet
- Subnet facade → Subnet calculator: calculates subnet
- Network ID command → Network ID facade: requests network ID
- Network ID facade → Network ID calculator: calculates network ID
- Translate command → Terminal: prints result
- Subnet command → Terminal: prints result
- Network ID command → Terminal: prints result