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.
Files changed (2) hide show
  1. data/bin/pivotal-slacker +38 -19
  2. metadata +1 -1
@@ -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 [options]"
42
- c.description = "List your stories in pivotal tracker."
43
- c.example "description", "command 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
- # Do something or c.when_called Pivotal-slacker::Commands::Mine
67
+ states = %w{unstarted started finished rejected}
68
+ owned_by = config.user
47
69
 
48
- states = %w{unstarted started finished accepted rejected}
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
- puts "Looking for stories owned by #{owned_by} in states: #{states}".color("#444444")
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
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pivotal-slacker
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.2
4
+ version: 1.1.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors: