Skip to content

Instantly share code, notes, and snippets.

@jmaziarz
Created September 1, 2011 00:05
Show Gist options
  • Save jmaziarz/1185087 to your computer and use it in GitHub Desktop.
Save jmaziarz/1185087 to your computer and use it in GitHub Desktop.
Working clamp script
#!/usr/bin/env ruby
require "clamp"
class ProjectSpace < Clamp::Command
#PROJECT_SPACE_ROOT = "/afs/rcf/project/"
PROJECT_SPACE_ROOT = "/Users/jmaziarz/"
option ["-v", "--version"], :flag, "Print version" do
puts "Version 0.1"
exit(0)
end
default_subcommand "list", "List all project spaces" do
option ["-a", "--[no-]active"], :flag, "Show only active projects", :default => true
option ["-d", "--deactivated"], :flag, "Show only deactivated projects"
option ["-e", "--expired"], :flag, "Show only expired projects"
def execute
if active?
puts "Showing just active projects from #{PROJECT_SPACE_ROOT}"
end
if deactivated?
puts "Showing just deactivated projects from #{PROJECT_SPACE_ROOT}"
end
if expired?
puts "Showing just expired projects from #{PROJECT_SPACE_ROOT}"
end
end
end
subcommand "show", "Show details on a project space" do
parameter "PROJECT", "Project name"
option ["-v", "--verbose"], :flag, "Show info in greater detail"
def execute
if verbose?
puts "Showing details in greater detail for #{project_path(project)}"
else
puts "Showing details for #{project_path(project)}"
end
end
end
def project_path(project)
File.join(PROJECT_SPACE_ROOT, project)
end
end
ProjectSpace.run
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment