Sha256: 0a83d7bd4ca5505c5e5ca5d094c66d9bd8062b03006deab0fe1556a8ffb72ea4

Contents?: true

Size: 1.02 KB

Versions: 5

Compression:

Stored size: 1.02 KB

Contents

require 'builder'
require RestfulX::LIB_DIR + 'configuration'

# Flex friendly DataMapper patches, more specifically we just add +to_xml+ on 
# ValidationErrors class
module DataMapper
  # see DataMapper docs for more details
  module Validate
    # By default DataMapper validation errors doesn't have +to_xml+ method. This is
    # actually very useful when dealing with remote stateful clients such as Flex/AIR.
    class ValidationErrors
      # Add Flex-friendly +to_xml+ implementation
      def to_xml
        xml = Builder::XmlMarkup.new(:indent => 2)
        xml.instruct! :xml, :version => "1.0", :encoding => "UTF-8"
        xml.errors do |e|
          @errors.each_key do |attribute|
            @errors[attribute].each do |msg|
              next if msg.nil?
              if attribute == "base"
                e.error("message" => msg)
              else
                e.error("field" => attribute.to_s.camelcase(:lower), "message" => msg)
              end
            end
          end
        end
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 3 rubygems

Version Path
dima-restfulx-1.2.0 lib/restfulx/datamapper_foo.rb
emergent-core-0.1.0 lib/restfulx/datamapper_foo.rb
emergent-core-0.1.01 lib/restfulx/datamapper_foo.rb
emergent-core-0.1.02 lib/restfulx/datamapper_foo.rb
restfulx-1.2.0 lib/restfulx/datamapper_foo.rb