Sha256: 2b4f5a8a930513d22bf8c75b341ac712401ac1a42abc4a4b5698dcfab0404267
Contents?: true
Size: 1.25 KB
Versions: 31
Compression:
Stored size: 1.25 KB
Contents
require 'happymapper' module Saml 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 = {}) if xml.is_a?(String) ActiveSupport::XmlMini_REXML.parse(xml) end 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, REXML::ParseException => e raise Saml::Errors::UnparseableMessage.new(e.message) rescue TypeError => e raise Saml::Errors::UnparseableMessage.new(e.message) rescue NoMethodError => e raise Saml::Errors::UnparseableMessage.new(e.message) end end end end
Version data entries
31 entries across 31 versions & 1 rubygems