class RGL::EdgePropertiesMap
Public Class Methods
Source
# File lib/rgl/edge_properties_map.rb 5 def initialize(edge_properties_map, directed) 6 @edge_properties_map = edge_properties_map 7 @directed = directed 8 9 check_properties 10 end
Public Instance Methods
Source
# File lib/rgl/edge_properties_map.rb 12 def edge_property(u, v) 13 if @directed 14 property = @edge_properties_map[[u, v]] 15 else 16 property = @edge_properties_map[[u, v]] || @edge_properties_map[[v, u]] 17 end 18 19 validate_property(property, u, v) 20 21 property 22 end
Private Instance Methods
Source
# File lib/rgl/edge_properties_map.rb 26 def check_properties 27 @edge_properties_map.each { |(u, v), property| validate_property(property, u, v) } if @edge_properties_map.respond_to?(:each) 28 end
Source
# File lib/rgl/edge_properties_map.rb 34 def report_missing_property(property, u, v) 35 raise ArgumentError.new("property of edge (#{u}, #{v}) is not defined") unless property 36 end
Source
# File lib/rgl/edge_properties_map.rb 30 def validate_property(property, u, v) 31 report_missing_property(property, u, v) 32 end