17: def Distribution.upload(ftp, md_file)
18:
19:
20: md = YAML.load_file(md_file)
21:
22: contents = md['Contents']
23: if not contents
24: UI.failure :input, "Your meta-data file does not have a Contents spec, it's malformed"
25: end
26:
27: contents.each do |file|
28: name, purpose, digest = file['Name'], file['Purpose'], file['Digest']
29: UI.start_finish "#{name} - #{purpose} - #{digest}" do
30: ftp.putbinaryfile(name)
31: end
32: end
33:
34:
35: UI.start_finish "Uploading meta-data" do
36: ftp.putbinaryfile(md_file)
37: end
38: end