pivotal-slacker 1.0.2 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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: