def update_entry(entry, options={}, &block)
      raise 'Error: Param entry is nil!' if entry.nil?

      url, entry_type = if entry.is_a?(Resource::Entry)
                          [url_for_resource(entry), entry.type]
                        else
                          *, type, id = url_for_uri(entry).split('/')
                          type = type.downcase.to_sym
                          [url_for_uri(entry), type]
                        end

      builder = Builder::Entry.builder(entry_type)
      block.call(builder)
      begin
        client.put(url, builder.to_xml, options) do |response|
          a_hash = parse(response)
          Resource::Entry.from_coach a_hash
        end
      rescue => e
        raise e if debug
        false
      end
    end
def update_entry(entry, options={}, &block)
      raise 'Error: Param entry is nil!' if entry.nil?

      url, entry_type = if entry.is_a?(Resource::Entry)
                          [url_for_resource(entry), entry.type]
                        else
                          *, type, id = url_for_uri(entry).split('/')
                          type = type.downcase.to_sym
                          [url_for_uri(entry), type]
                        end

      builder = Builder::Entry.builder(entry_type)
      block.call(builder)
      begin
        client.put(url, builder.to_xml, options) do |response|
          a_hash = parse(response)
          Resource::Entry.from_coach a_hash
        end
      rescue => e
        raise e if debug
        false
      end
    end
Updates an entry.

 @param [Entry|String] entry
 @param [Hash] options
 @param [Block] block
 @return [Entry|Boolean]

 ====Examples
 @example
   entry = @coach.entry_by_uri '/CyberCoachServer/resources/users/wantsomemoney/Running/1138/'
   updated_entry = @proxy.update_entry(entry) do |entry|
     entry.comment = 'Test!!'
   end

 @example
   uri = '/CyberCoachServer/resources/users/wantsomemoney/Running/1138/'
   res = @proxy.update_entry(uri) do |entry|
     entry.comment = 'Test!'
   end