down. translated.

@spec.get_opts.each do |name, opt| options[name] = opt.value counts[name] = opt.count end @spec.get_args.each do |name, arg| args << arg.value named[name] = arg.value end args.flatten! args += trailing @report =, named, trailing, options, counts) if @report.opt(:help) self.print_usage() end unless @spec.get_args.values.all? {|arg| arg.fulfilled? } raise InterfaceError, "Required argument '#{name.upcase}' was not given." end if @spec.trailing_error && !@report.trailing.empty? raise InterfaceError, "Error: got trailing argument(s): #{trailing.join


๐Ÿ“œ scroll is a configurable, cross-platform backup system with support for restic and rsync backends. It currently runs under Windows and should run on most flavors of Linux. So far it's in use on Windows, Arch Linux and OpenWrt machines.

For more information about scroll, see the README.


  • Fixed Windows installation (with a workaround, for now)
  • Added rsync backends
  • Added configurable, compound commands called plans. They can be run with the plan command.
  • Added README
  • Updated dependencies and improved packaging
  • Now available on npm