pivo_flow 0.2.11 → 0.3.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.
- data/lib/pivo_flow/pivotal.rb +52 -21
- data/lib/pivo_flow/version.rb +1 -1
- data/spec/spec_helper.rb +0 -0
- metadata +4 -2
data/lib/pivo_flow/pivotal.rb
CHANGED
@@ -46,32 +46,59 @@ module PivoFlow
|
|
46
46
|
end
|
47
47
|
|
48
48
|
def list_stories_to_output stories
|
49
|
-
if current_story
|
50
|
-
puts "You've got some started stories, it may be a good idea to finish them in the first place"
|
51
|
-
puts "[##{current_story.id}] #{current_story.name} - #{current_story.description}"
|
52
|
-
end
|
53
|
-
|
54
49
|
HighLine.new.choose do |menu|
|
55
|
-
menu.header = "--- STORIES FROM PIVOTAL TRACKER ---\nWhich one would you like to start? "
|
50
|
+
menu.header = "\n--- STORIES FROM PIVOTAL TRACKER ---\nWhich one would you like to start? "
|
56
51
|
menu.prompt = "story no.? "
|
57
52
|
menu.select_by = :index
|
58
53
|
stories.each do |story|
|
59
|
-
|
60
|
-
story_id: story.id,
|
61
|
-
requested_by: story.requested_by,
|
62
|
-
name: story.name,
|
63
|
-
story_type: story_type_icon(story),
|
64
|
-
estimate: estimate_points(story),
|
65
|
-
owner: story_owner(story),
|
66
|
-
started: story.current_state == "started" ? "started >" : ""
|
67
|
-
}
|
68
|
-
story_text = "%{started} [#%{story_id}] %{story_type} [%{estimate} pts.] %{owner} %{name}" % vars
|
69
|
-
story_text += "\n Description: #{story.description}" unless story.description
|
70
|
-
menu.choice(story_text) { |answer| pick_up_story(answer.match(/\[#(?<id>\d+)\]/)[:id])}
|
54
|
+
menu.choice(story_string(story)) { |answer| show_story(answer.match(/\[#(?<id>\d+)\]/)[:id])}
|
71
55
|
end
|
72
56
|
end
|
73
57
|
end
|
74
58
|
|
59
|
+
def show_story story_id
|
60
|
+
story = find_story(story_id)
|
61
|
+
puts story_string(story, true)
|
62
|
+
proceed = ask_question "Do you want to start this story?"
|
63
|
+
accepted_answers = %w[yes y sure ofc jup yep yup ja tak]
|
64
|
+
if accepted_answers.include?(proceed.downcase)
|
65
|
+
pick_up_story(story_id)
|
66
|
+
else
|
67
|
+
show_stories
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
71
|
+
|
72
|
+
def find_story story_id
|
73
|
+
story = project_stories.find { |p| p.id == story_id }
|
74
|
+
story.nil? ? @options[:project].stories.find(story_id) : story
|
75
|
+
end
|
76
|
+
|
77
|
+
def story_string story, long=false
|
78
|
+
vars = {
|
79
|
+
story_id: story.id,
|
80
|
+
requested_by: story.requested_by,
|
81
|
+
name: truncate(story.name),
|
82
|
+
story_type: story_type_icon(story),
|
83
|
+
estimate: estimate_points(story),
|
84
|
+
owner: story_owner(story),
|
85
|
+
description: story.description,
|
86
|
+
labels: story.labels,
|
87
|
+
started: story.current_state == "started" ? "S" : "N"
|
88
|
+
}
|
89
|
+
if long
|
90
|
+
"STORY %{started} %{story_type} [#%{story_id}]
|
91
|
+
Name: %{name}
|
92
|
+
Labels: %{labels}
|
93
|
+
Owned by: %{owner}
|
94
|
+
Requested by: %{requested_by}
|
95
|
+
Description: %{description}
|
96
|
+
Estimate: %{estimate}" % vars
|
97
|
+
else
|
98
|
+
"[#%{story_id}] (%{started}) %{story_type} [%{estimate} pts.] %{owner} %{name}" % vars
|
99
|
+
end
|
100
|
+
end
|
101
|
+
|
75
102
|
def story_type_icon story
|
76
103
|
case story.story_type
|
77
104
|
when "feature" then "☆"
|
@@ -81,8 +108,12 @@ module PivoFlow
|
|
81
108
|
end
|
82
109
|
end
|
83
110
|
|
111
|
+
def truncate string
|
112
|
+
string.length > 80 ? "#{string[0..80]}..." : string
|
113
|
+
end
|
114
|
+
|
84
115
|
def story_owner story
|
85
|
-
story.owned_by.nil? ? "" : "(#{initials(story.owned_by)})"
|
116
|
+
story.owned_by.nil? ? "(--)" : "(#{initials(story.owned_by)})"
|
86
117
|
end
|
87
118
|
|
88
119
|
def initials name
|
@@ -93,7 +124,7 @@ module PivoFlow
|
|
93
124
|
unless story.estimate.nil?
|
94
125
|
story.estimate < 0 ? "?" : story.estimate
|
95
126
|
else
|
96
|
-
"
|
127
|
+
"-"
|
97
128
|
end
|
98
129
|
end
|
99
130
|
|
@@ -102,7 +133,7 @@ module PivoFlow
|
|
102
133
|
end
|
103
134
|
|
104
135
|
def update_story story_id, state
|
105
|
-
story =
|
136
|
+
story = find_story(story_id)
|
106
137
|
if story.nil?
|
107
138
|
puts "Story not found, sorry."
|
108
139
|
return
|
data/lib/pivo_flow/version.rb
CHANGED
data/spec/spec_helper.rb
ADDED
File without changes
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pivo_flow
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -98,6 +98,7 @@ files:
|
|
98
98
|
- lib/pivo_flow/pivotal.rb
|
99
99
|
- lib/pivo_flow/version.rb
|
100
100
|
- pivo_flow.gemspec
|
101
|
+
- spec/spec_helper.rb
|
101
102
|
homepage: https://github.com/lubieniebieski/pivo_flow
|
102
103
|
licenses: []
|
103
104
|
post_install_message:
|
@@ -122,4 +123,5 @@ rubygems_version: 1.8.24
|
|
122
123
|
signing_key:
|
123
124
|
specification_version: 3
|
124
125
|
summary: Simple pivotal tracker integration for day to day work with git
|
125
|
-
test_files:
|
126
|
+
test_files:
|
127
|
+
- spec/spec_helper.rb
|