1 module OSDN; module CLI; module Command
6 command = ARGV.shift || 'list'
7 if !command || command.empty?
8 logger.fatal "subcommand is missing."
12 if self.respond_to? command
15 logger.fatal "Invalid subcommand: #{command}"
22 raise NotImplementedError
27 @target_proj and return @target_proj
29 vars.project && !vars.project.to_s.empty? and
31 logger.fatal "No target project is specified."
36 @target_package and return @target_package
38 vars.package_id && !vars.package_id.to_s.empty? and
39 return vars.package_id
40 logger.fatal "No target package is specified."
45 @target_release and return @target_release
47 vars.release_id && !vars.release_id.to_s.empty? and
48 return vars.release_id
49 logger.fatal "No target release is specified."
54 OSDNClient::ProjectApi.new
57 def format_object(o, children = nil)
63 children_str = ", #{[*o.send(children)].count} #{children}"
64 "##{o.id} #{o.name} (#{o.visibility}#{children_str})\n #{o.url}"
69 format_object(r, :files)
73 format_object(p, :releases)