class Docker2plantuml::PlantUMLWriter
Constants
- I
- II
- III
Public Class Methods
new(container_list)
click to toggle source
# File lib/docker2plantuml/writer.rb, line 9 def initialize(container_list) @container_list = container_list end
Public Instance Methods
container_to_plant_uml(container)
click to toggle source
# File lib/docker2plantuml/writer.rb, line 40 def container_to_plant_uml(container) container_name = container.container_name ports = ports_to_plant_uml(container) [ I + "cloud [#{container.network_setting.network_name}\\n\\n]{", II + "node [#{container_name}\\n]{", ports.empty? ? III + '[ ]' : ports, II + '}', I + '}' ].join("\n") end
containers_to_plant_uml()
click to toggle source
# File lib/docker2plantuml/writer.rb, line 34 def containers_to_plant_uml @container_list .map { |c| container_to_plant_uml(c) } .join("\n") end
host_ports_to_plant_uml()
click to toggle source
# File lib/docker2plantuml/writer.rb, line 25 def host_ports_to_plant_uml @container_list .map(&:server_port_list) .reject(&:empty?) .inject([]) { |list, item| list + item } .map { |p| I + "[#{p}]" } .join("\n") end
port_mapping(c_name, p_info)
click to toggle source
# File lib/docker2plantuml/writer.rb, line 78 def port_mapping(c_name, p_info) "[#{c_name}:#{p_info.container_port}] -- [#{p_info.host_port}]" end
port_mapping_to_plant_uml(container)
click to toggle source
# File lib/docker2plantuml/writer.rb, line 67 def port_mapping_to_plant_uml(container) container_name = container.container_name return '' if container.port_info_list.empty? container .port_info_list .select(&:host_port) .map { |p| I + port_mapping(container_name, p) } .join("\n") end
port_mappings_to_plant_uml()
click to toggle source
# File lib/docker2plantuml/writer.rb, line 60 def port_mappings_to_plant_uml @container_list .map { |c| port_mapping_to_plant_uml(c) } .reject(&:empty?) .join("\n") end
ports_to_plant_uml(container)
click to toggle source
# File lib/docker2plantuml/writer.rb, line 52 def ports_to_plant_uml(container) container_name = container.container_name container .port_info_list .map { |p| III + "[#{container_name}:#{p.container_port}]" } .join("\n") end
to_plant_uml()
click to toggle source
# File lib/docker2plantuml/writer.rb, line 13 def to_plant_uml [ '@startuml', 'folder DockerHost {', host_ports_to_plant_uml, containers_to_plant_uml, port_mappings_to_plant_uml, '}', '@enduml' ].join("\n") end