# frozen_string_literal: true module RCAP module CAP_1_0 # A Parameter object is valid if # * it has a name class Parameter < RCAP::Base::Parameter # @return [REXML::Element] def to_xml_element xml_element = REXML::Element.new(self.class::XML_ELEMENT_NAME) xml_element.add_text("#{@name}=#{@value}") xml_element end # @param [REXML::Element] parameter_xml_element # @return [Parameter] def self.from_xml_element(parameter_xml_element) parameter_hash = parse_parameter(parameter_xml_element.text) new do |parameter| parameter.name = RCAP.strip_if_given(parameter_hash[:name]) parameter.value = RCAP.strip_if_given(parameter_hash[:value]) end end # @param [String] parameter_string # @return [Hash] def self.parse_parameter(parameter_string) name, value = parameter_string.split('=') if name && value { name: RCAP.strip_if_given(name), value: RCAP.strip_if_given(value) } end end end end end