pivotal-slacker 1.0.2 → 1.1.0
Sign up to get free protection for your applications and to get access to all the features.
- data/bin/pivotal-slacker +38 -19
- metadata +1 -1
data/bin/pivotal-slacker
CHANGED
@@ -37,30 +37,49 @@ require "pivotal-tracker"
|
|
37
37
|
program :version, "1.0"
|
38
38
|
program :description, "Pivotal Tracker command line client."
|
39
39
|
|
40
|
+
# ----------------------------------------------------------
|
41
|
+
# Support functionality
|
42
|
+
|
43
|
+
def output_story_list opts={:project => nil, :states => [], :owned_by => nil}
|
44
|
+
puts "Looking for stories owned by #{opts[:owned_by]} in states: #{opts[:states]}".color("#444444")
|
45
|
+
|
46
|
+
stories = opts[:project].stories.all(:owned_by => opts[:owned_by], :current_state => opts[:states])
|
47
|
+
stories.sort! { |a, b| a.created_at <=> b.created_at }
|
48
|
+
stories.each do |story|
|
49
|
+
id = Formatter.story_id(story.id)
|
50
|
+
name = Formatter.story_name(story.name)
|
51
|
+
state = Formatter.state(story.current_state)
|
52
|
+
requested_by = Formatter.requested_by(story.requested_by)
|
53
|
+
created_at = Formatter.time_ago(story.created_at)
|
54
|
+
|
55
|
+
puts "[#{id}] #{name} ~ #{state}, from #{requested_by}, created #{created_at}"
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
# ----------------------------------------------------------
|
60
|
+
# Command-line interaction functionality
|
61
|
+
|
40
62
|
command :mine do |c|
|
41
|
-
c.syntax = "pivotal-slacker mine
|
42
|
-
c.description = "List your stories in
|
43
|
-
c.example "
|
44
|
-
c.option "--some-switch", "Some switch that does something"
|
63
|
+
c.syntax = "pivotal-slacker mine"
|
64
|
+
c.description = "List your stories in Pivotal Tracker."
|
65
|
+
c.example "List your \"open\" stories", "pivotal-slacker mine"
|
45
66
|
c.action do |args, options|
|
46
|
-
|
67
|
+
states = %w{unstarted started finished rejected}
|
68
|
+
owned_by = config.user
|
47
69
|
|
48
|
-
states
|
70
|
+
output_story_list :project => project, :states => states, :owned_by => owned_by
|
71
|
+
end
|
72
|
+
end
|
73
|
+
|
74
|
+
command :accepted do |c|
|
75
|
+
c.syntax = "pivotal-slacker accepted"
|
76
|
+
c.description = "List your accepted stories in Pivotal Tracker."
|
77
|
+
c.example "List your accepted stories", "pivotal-slacker accepted"
|
78
|
+
c.action do |args, options|
|
79
|
+
states = %w{accepted}
|
49
80
|
owned_by = config.user
|
50
81
|
|
51
|
-
|
52
|
-
|
53
|
-
stories = project.stories.all(:owned_by => owned_by, :current_state => states)
|
54
|
-
stories.sort! { |a, b| a.created_at <=> b.created_at }
|
55
|
-
stories.each do |story|
|
56
|
-
id = Formatter.story_id(story.id)
|
57
|
-
name = Formatter.story_name(story.name)
|
58
|
-
state = Formatter.state(story.current_state)
|
59
|
-
requested_by = Formatter.requested_by(story.requested_by)
|
60
|
-
created_at = Formatter.time_ago(story.created_at)
|
61
|
-
|
62
|
-
puts "[#{id}] #{name} ~ #{state}, from #{requested_by}, created #{created_at}"
|
63
|
-
end
|
82
|
+
output_story_list :project => project, :states => states, :owned_by => owned_by
|
64
83
|
end
|
65
84
|
end
|
66
85
|
|