pivo 0.0.6 → 0.0.7
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.
- checksums.yaml +4 -4
- data/lib/pivo/commands.rb +28 -44
- data/lib/pivo/formatters.rb +6 -0
- data/lib/pivo/formatters/stories/default.rb +17 -0
- data/lib/pivo/formatters/stories/markdown.rb +17 -0
- data/lib/pivo/resource.rb +0 -15
- data/lib/pivo/version.rb +1 -1
- metadata +6 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bb63a9caa8cf69d9d118f3033d5fa99d2c173756
|
4
|
+
data.tar.gz: 915ffb5580f9657cf9be8cf9bb42f7e3d86da1cd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2e5f23c78aa1af7857979800e5d01339356cec2a24e40f4661db97890d86ea27faee1efaf0740231906b16edce2f9348cde33797406096d01086d2002ee741ee
|
7
|
+
data.tar.gz: 06faee69ec73b8ee2b42f4bfc7ab99643224f01155d304cc352a4f84db89df59e8cc8ea281a1b49f04c2d3a597c87932b8f5fa9673815107ad75a8970f522c4c
|
data/lib/pivo/commands.rb
CHANGED
@@ -4,43 +4,10 @@ require 'thor'
|
|
4
4
|
require 'date'
|
5
5
|
|
6
6
|
require 'pivo/resource'
|
7
|
+
require 'pivo/formatters'
|
7
8
|
|
8
9
|
module Pivo
|
9
|
-
class Velocity < Thor
|
10
|
-
desc "velocity me PROJECT_NAME VELOCITY", "listing my stories each velocity"
|
11
|
-
def me(project_name, velocity)
|
12
|
-
me = Resource::Me.new
|
13
|
-
project = Resource::Project.find_by_name(project_name)
|
14
|
-
stories = project.stories(filter: "owner:\"#{me.name}\"")
|
15
|
-
|
16
|
-
days = %w(Sunday Monday Tuesday Wednesday Thursday Friday Saturday)
|
17
|
-
week_start_day = project.week_start_day
|
18
|
-
index_of_start_day = days.index(week_start_day)
|
19
|
-
current_day = DateTime.now.wday
|
20
|
-
diff = current_day-index_of_start_day
|
21
|
-
diff = 7 - diff if diff < 0
|
22
|
-
|
23
|
-
current_iteration_start_date = DateTime.now - diff
|
24
|
-
|
25
|
-
point = 0
|
26
|
-
iteration_index = 1
|
27
|
-
say "\n===#{current_iteration_start_date.strftime('%Y-%m-%d %a')}=========================================================================\n\n"
|
28
|
-
stories.each do |story |
|
29
|
-
if point + story.estimate > velocity.to_i
|
30
|
-
say "total point: #{point}"
|
31
|
-
say "\n===#{(current_iteration_start_date + iteration_index*7).strftime('%Y-%m-%d %a')}=========================================================================\n\n"
|
32
|
-
iteration_index += 1
|
33
|
-
point = story.estimate
|
34
|
-
else
|
35
|
-
point += story.estimate
|
36
|
-
end
|
37
|
-
say Resource::Story.new(story).to_s
|
38
|
-
end
|
39
|
-
end
|
40
|
-
end
|
41
|
-
|
42
10
|
class Stories < Thor
|
43
|
-
|
44
11
|
desc "all PROJECT_NAME", "listing all stories"
|
45
12
|
option :status, type: 'string', desc: "unscheduled, unstarted, planned, rejected, started, finished, delivered, accepted"
|
46
13
|
option :format, type: 'string', desc: "default, md"
|
@@ -48,8 +15,27 @@ module Pivo
|
|
48
15
|
project = Resource::Project.find_by_name(project_name)
|
49
16
|
filtering_options = {}
|
50
17
|
filtering_options.merge!(with_state: options[:status]) if options[:status]
|
51
|
-
|
52
|
-
|
18
|
+
case options[:format]
|
19
|
+
when 'md'
|
20
|
+
say Formatters::Stories::Markdown.new(project.stories(filtering_options)).to_s
|
21
|
+
else
|
22
|
+
say Formatters::Stories::Default.new(project.stories(filtering_options)).to_s
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
desc "iteration PROJECT_NAME", "listing stories of iteration"
|
27
|
+
option :iterationnumber, type: 'numeric', default: 0, desc: "current iteration number = 0, prev iterationn number = 1, prev prev = 2..."
|
28
|
+
option :format, type: 'string', desc: "default, md"
|
29
|
+
def iteration(project_name)
|
30
|
+
project = Resource::Project.find_by_name(project_name)
|
31
|
+
iteration_number = project.current_iteration_number
|
32
|
+
iteration_number -= options[:iterationnumber] if options[:iterationnumber]
|
33
|
+
iteration = project.iterations(number: iteration_number).first
|
34
|
+
case options[:format]
|
35
|
+
when 'md'
|
36
|
+
say Formatters::Stories::Markdown.new(iteration.stories).to_s
|
37
|
+
else
|
38
|
+
say Formatters::Stories::Default.new(iteration.stories).to_s
|
53
39
|
end
|
54
40
|
end
|
55
41
|
|
@@ -61,8 +47,11 @@ module Pivo
|
|
61
47
|
project = Resource::Project.find_by_name(project_name)
|
62
48
|
filtering_options = {}
|
63
49
|
filtering_options.merge!(filter: "state:#{options[:status]} owner:\"#{me.name}\"")
|
64
|
-
|
65
|
-
|
50
|
+
case options[:format]
|
51
|
+
when 'md'
|
52
|
+
say Formatters::Stories::Markdown.new(project.stories(filtering_options)).to_s
|
53
|
+
else
|
54
|
+
say Formatters::Stories::Default.new(project.stories(filtering_options)).to_s
|
66
55
|
end
|
67
56
|
end
|
68
57
|
end
|
@@ -76,15 +65,10 @@ module Pivo
|
|
76
65
|
desc "stories PROJECT_NAME", "listing project stories"
|
77
66
|
def stories(project_name)
|
78
67
|
project = Resource::Project.find_by_name(project_name)
|
79
|
-
project.stories.
|
80
|
-
say Resource::Story.new(story).to_s
|
81
|
-
end
|
68
|
+
say Formatters::Stories::Default.new(project.stories(filtering_options)).to_s
|
82
69
|
end
|
83
70
|
|
84
71
|
desc "stories SUBCOMMAND ARGS", "listing stories"
|
85
72
|
subcommand "stories", Stories
|
86
|
-
|
87
|
-
desc "velocity SUBCOMMAND ARGS", "listing stories each velocity"
|
88
|
-
subcommand "velocity", Velocity
|
89
73
|
end
|
90
74
|
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
module Pivo
|
2
|
+
module Formatters
|
3
|
+
module Stories
|
4
|
+
class Default
|
5
|
+
def initialize(stories)
|
6
|
+
@stories = stories
|
7
|
+
end
|
8
|
+
|
9
|
+
def to_s
|
10
|
+
@stories.map {|story|
|
11
|
+
"[#{story.estimate}][#{story.current_state}]\t#{story.name}\t#{story.url}"
|
12
|
+
}.join("\n")
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
data/lib/pivo/resource.rb
CHANGED
@@ -36,19 +36,4 @@ module Resource
|
|
36
36
|
end
|
37
37
|
end
|
38
38
|
end
|
39
|
-
|
40
|
-
class Story
|
41
|
-
def initialize(story, format_option)
|
42
|
-
@story = story
|
43
|
-
@format_option = format_option
|
44
|
-
end
|
45
|
-
|
46
|
-
def to_s
|
47
|
-
if @format_option == 'md'
|
48
|
-
"[#{@story.name}](#{@story.url})"
|
49
|
-
else
|
50
|
-
"[#{@story.estimate}][#{@story.current_state}]\t#{@story.name}\t#{@story.url}"
|
51
|
-
end
|
52
|
-
end
|
53
|
-
end
|
54
39
|
end
|
data/lib/pivo/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pivo
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- AKAMATSU Yuki
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-04-
|
11
|
+
date: 2015-04-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -82,6 +82,9 @@ files:
|
|
82
82
|
- bin/pivo
|
83
83
|
- lib/pivo.rb
|
84
84
|
- lib/pivo/commands.rb
|
85
|
+
- lib/pivo/formatters.rb
|
86
|
+
- lib/pivo/formatters/stories/default.rb
|
87
|
+
- lib/pivo/formatters/stories/markdown.rb
|
85
88
|
- lib/pivo/resource.rb
|
86
89
|
- lib/pivo/version.rb
|
87
90
|
- pivo.gemspec
|
@@ -105,7 +108,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
105
108
|
version: '0'
|
106
109
|
requirements: []
|
107
110
|
rubyforge_project:
|
108
|
-
rubygems_version: 2.
|
111
|
+
rubygems_version: 2.2.2
|
109
112
|
signing_key:
|
110
113
|
specification_version: 4
|
111
114
|
summary: for pivotal tracker
|