Class: GraphViz::Attrs
Instance Attribute Summary collapse
- 
  
    
      #data  ⇒ Object 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    Returns the value of attribute data. 
Instance Method Summary collapse
- #[](key) ⇒ Object
- #[]=(key, value) ⇒ Object
- #each ⇒ Object
- 
  
    
      #initialize(gviz, name, attributes)  ⇒ Attrs 
    
    
  
  
  
    constructor
  
  
  
  
  
  
  
    A new instance of Attrs. 
- #to_h ⇒ Object
Constructor Details
Instance Attribute Details
#data ⇒ Object
Returns the value of attribute data.
| 22 23 24 | # File 'lib/graphviz/attrs.rb', line 22 def data @data end | 
Instance Method Details
#[](key) ⇒ Object
| 41 42 43 44 45 46 47 48 49 | # File 'lib/graphviz/attrs.rb', line 41 def []( key ) if key.class == Hash key.each do |k, v| self[k] = v end else @data[key.to_s] end end | 
#[]=(key, value) ⇒ Object
| 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 | # File 'lib/graphviz/attrs.rb', line 51 def []=( key, value ) unless @attributes.keys.include?( key.to_s ) raise ArgumentError, "#{@name} attribute '#{key.to_s}' invalid" end if value.nil? warn "Value for attribute `#{key}` can't be null" return end begin value = GraphViz::Types.const_get(@attributes[key.to_s]).new(value) rescue => e raise AttributeException, "Invalid value `#{value}` for attribute `#{key}` : #{e}" end if value @data[key.to_s] = value @graphviz.set_position( @name, key.to_s, @data[key.to_s] ) if @graphviz end end | 
#each ⇒ Object
| 31 32 33 34 35 | # File 'lib/graphviz/attrs.rb', line 31 def each @data.each do |k, v| yield(k, v) end end | 
#to_h ⇒ Object
| 37 38 39 | # File 'lib/graphviz/attrs.rb', line 37 def to_h @data.clone end |