Sha256: ac35d7779c27254c6c2dbb7b61aea2bd57744c1f7e9c5895b4d27fba59cc8da9
Contents?: true
Size: 1.22 KB
Versions: 4
Compression:
Stored size: 1.22 KB
Contents
require "happymapper" module Xmlenc module Builder module Base extend ActiveSupport::Concern included do include ::HappyMapper include ::ActiveModel::Validations extend HappyMapperClassMethods include HappyMapperInstanceMethods end module HappyMapperInstanceMethods def initialize(attributes = {}) attributes.each do |key, value| send("#{key}=", value) if respond_to?("#{key}=") && value.present? end end def from_xml=(bool) @from_xml = bool end def from_xml? @from_xml end end module HappyMapperClassMethods def parse(xml, options = {}) raise Xmlenc::UnparseableMessage("Unable to parse nil document") if xml.nil? object = super if object.is_a?(Array) object.map { |x| x.from_xml = true } elsif object object.from_xml = true end object rescue Nokogiri::XML::SyntaxError => e raise Xmlenc::UnparseableMessage.new(e.message) rescue NoMethodError => e raise Xmlenc::UnparseableMessage.new(e.message) end end end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
xmlenc-0.5.0 | lib/xmlenc/builder/base.rb |
xmlenc-0.4.1 | lib/xmlenc/builder/base.rb |
xmlenc-0.4.0 | lib/xmlenc/builder/base.rb |
xmlenc-0.3.0 | lib/xmlenc/builder/base.rb |