Sha256: 41371cf294deba22c7efd2adebd0445c07720ec1ecfee99cfbe9bedb64002ad0

Contents?: true

Size: 1.83 KB

Versions: 21

Compression:

Stored size: 1.83 KB

Contents

#!/usr/bin/env ruby

# Note: This assumes we're running from the root of the resync-client project
$LOAD_PATH << File.dirname(__FILE__)
require 'lib/resync/client'

client = Resync::Client.new

# Note: this URI is from resync-simulator: https://github.com/resync/resync-simulator
source_desc_uri = 'http://localhost:8888/.well-known/resourcesync'
puts "Source: #{source_desc_uri}"
source_desc = client.get_and_parse(source_desc_uri) # Resync::SourceDescription

cap_list_resource = source_desc.resource_for(capability: 'capabilitylist')
cap_list = cap_list_resource.get_and_parse # Resync::CapabilityList

change_list_resource = cap_list.resource_for(capability: 'changelist')
change_list = change_list_resource.get_and_parse # Resync::ChangeList
puts "  from:    #{change_list.metadata.from_time}"
puts "  until:   #{change_list.metadata.until_time}"

changes = change_list.resources # Array<Resync::Resource>
puts "  changes: #{changes.size}"
puts

n = changes.size > 5 ? 5 : changes.size
puts "last #{n} changes of any kind:"
changes.slice(-n, n).each do |r|
  puts "  #{r.uri}"
  puts "    modified at: #{r.modified_time}"
  puts "    change type: #{r.metadata.change}"
  puts "    md5:         #{r.metadata.hash('md5')}"
end

last_update = changes.select { |r| r.metadata.change == Resync::Types::Change::UPDATED }[-1]
puts 'last update:'
puts "  #{last_update.uri}"
puts "    modified at: #{last_update.modified_time}"
puts "    change type: #{last_update.metadata.change}"
puts "    md5:         #{last_update.metadata.hash('md5')}"

last_update_response = last_update.get
puts last_update_response.class
puts "    content:      #{last_update_response}"

last_update_file = last_update.download_to_temp_file
last_update_file_contents = File.read(last_update_file)
puts "    as file:      #{last_update_file}"
puts "    file content: #{last_update_file_contents}"

Version data entries

21 entries across 21 versions & 1 rubygems

Version Path
resync-client-0.4.7 example.rb
resync-client-0.4.6 example.rb
resync-client-0.4.5 example.rb
resync-client-0.4.4 example.rb
resync-client-0.4.3 example.rb
resync-client-0.4.2 example.rb
resync-client-0.4.1 example.rb
resync-client-0.4.0 example.rb
resync-client-0.3.5 example.rb
resync-client-0.3.4 example.rb
resync-client-0.3.3 example.rb
resync-client-0.3.2 example.rb
resync-client-0.3.1 example.rb
resync-client-0.3.0 example.rb
resync-client-0.2.5 example.rb
resync-client-0.2.4 example.rb
resync-client-0.2.3 example.rb
resync-client-0.2.1 example.rb
resync-client-0.1.2 example.rb
resync-client-0.1.1 example.rb