copy (DataMapper::Model)

    # File lib/dm-core/model.rb, line 435
        def copy(source, destination, query = {})

          # get the list of properties that exist in the source and destination
          destination_properties = properties(destination)
          fields = query[:fields] ||= properties(source).select { |property| destination_properties.include?(property) }

          repository(destination) do
            all(query.merge(:repository => source)).map do |resource|
              create(fields.map { |property| [ property.name, property.get(resource) ] }.to_hash)
            end
          end
        end