class ProjectMonitorStat::Config
Attributes
base_url[RW]
building_cmd[RW]
fail_cmd[RW]
idle_cmd[RW]
idle_seconds[RW]
success_cmd[RW]
Public Class Methods
parse_options(argv: raise)
click to toggle source
# File lib/project_monitor_stat/config.rb, line 6 def self.parse_options(argv: raise) instance = new instance.tags = [] instance.base_url = 'http://pulse.pivotallabs.com/projects.json' instance.idle_seconds = 600 opt_parser = OptionParser.new do |opts| opts.banner = 'Usage: project_monitor_stat [options]' opts.on('-t tag1,tag2', '--tags tag1,tag2,tag3', Array, 'Project Monitor tags') do |t| instance.tags |= t end opts.on('-g', '--git-author-tags', 'Use current git author username@ or pair+usernames@ for tags') do git_email_parser = GitEmailParser.new if git_email_parser.username_tags.empty? Util.puts "Error: Invalid git email: '#{git_email_parser.git_email}'" Util.puts opts exit(1) end instance.tags |= git_email_parser.username_tags end opts.on('-sCOMMAND', '--success COMMAND', 'Command after success') do |s| instance.success_cmd = s end opts.on('-iCOMMAND', '--idle COMMAND', 'Command when idle after success') do |i| instance.idle_cmd = i end opts.on('--idle-seconds SECONDS', 'Seconds after which a success build is idle') do |is| instance.idle_seconds = is.to_i end opts.on('-bCOMMAND', '--building COMMAND', 'Command when building') do |b| instance.building_cmd = b end opts.on('-fCOMMAND', '--fail COMMAND', 'Command after fail') do |s| instance.fail_cmd = s end opts.on('-uURL', '--url URL', 'Custom project monitor url ', " Default: #{instance.base_url}") do |u| instance.base_url = u end opts.on('-cCOOKIE', '--cookies COOKIE', 'Your cookie string', ' Get this from your browser cookie inspector') do |c| instance.cookie = c end opts.on_tail('-h', '--help', 'Show this message') do Util.puts opts exit end opts.on_tail('--version', 'Show version') do Util.puts VERSION exit end end opt_parser.parse!(argv) if instance.tags.empty? Util.puts "Error: At least one tag required" Util.puts opt_parser.help exit(1) end instance end
Public Instance Methods
url()
click to toggle source
# File lib/project_monitor_stat/config.rb, line 95 def url uri = URI(base_url) uri.query = "tags=#{tags.join(',')}" uri end