class EagleCAD::DesignRules

Attributes

description[RW]
name[RW]
parameters[R]

Public Class Methods

from_xml(element) click to toggle source
# File lib/eaglecad/design_rules.rb, line 8
def self.from_xml(element)
    self.new(element.attributes['name']).tap do |rule|
        element.elements.each do |element|
            case element.name
                when 'description'
                    rule.description = element.text
                when 'param'
                    rule.parameters[element.attributes['name']] = element.attributes['value']
                else
                    raise StandardError, "Unrecognized Design Rule element '#{element.name}'"
            end
        end
    end
end
new(name) click to toggle source
# File lib/eaglecad/design_rules.rb, line 23
def initialize(name)
    @name = name
    @parameters = {}
end

Public Instance Methods

to_xml() click to toggle source

@return [REXML::Element]

# File lib/eaglecad/design_rules.rb, line 29
def to_xml
    REXML::Element.new('designrules').tap do |element|
        element.add_attribute 'name', name
        element.add_element('description').text = description if description

        parameters.each {|key, value| element.add_element('param', {'name' => key, 'value' => value})}
    end
end