cards 0.6 → 0.7
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGES.txt +5 -0
- data/Manifest.txt +11 -0
- data/examples/csv to dot/Stories.csv +16 -0
- data/examples/csv to dot/Stories.dot +63 -0
- data/examples/csv to dot/generate_card_walls +25 -0
- data/examples/numbers to omnigraffle/Voting Example/Cards-Goals.csv +7 -0
- data/examples/numbers to omnigraffle/Voting Example/Cards-Stories.csv +16 -0
- data/examples/numbers to omnigraffle/Voting Example/Cards-Workflow.csv +7 -0
- data/examples/numbers to omnigraffle/Voting Example.numbers/Contents/PkgInfo +1 -0
- data/examples/numbers to omnigraffle/Voting Example.numbers/QuickLook/Thumbnail.jpg +0 -0
- data/examples/numbers to omnigraffle/Voting Example.numbers/document-thumbnail.tiff +0 -0
- data/examples/numbers to omnigraffle/Voting Example.numbers/index.xml.gz +0 -0
- data/examples/numbers to omnigraffle/generate_card_walls +32 -0
- data/lib/cards/card_wall.rb +1 -0
- data/lib/cards/writers/dot_writer.rb +3 -2
- data/lib/cards/writers/text_writer.rb +3 -0
- data/lib/cards.rb +1 -1
- metadata +13 -2
data/CHANGES.txt
CHANGED
data/Manifest.txt
CHANGED
@@ -2,6 +2,17 @@ CHANGES.txt
|
|
2
2
|
Manifest.txt
|
3
3
|
README.txt
|
4
4
|
Rakefile
|
5
|
+
examples/csv to dot/Stories.csv
|
6
|
+
examples/csv to dot/Stories.dot
|
7
|
+
examples/csv to dot/generate_card_walls
|
8
|
+
examples/numbers to omnigraffle/Voting Example.numbers/Contents/PkgInfo
|
9
|
+
examples/numbers to omnigraffle/Voting Example.numbers/QuickLook/Thumbnail.jpg
|
10
|
+
examples/numbers to omnigraffle/Voting Example.numbers/document-thumbnail.tiff
|
11
|
+
examples/numbers to omnigraffle/Voting Example.numbers/index.xml.gz
|
12
|
+
examples/numbers to omnigraffle/Voting Example/Cards-Goals.csv
|
13
|
+
examples/numbers to omnigraffle/Voting Example/Cards-Stories.csv
|
14
|
+
examples/numbers to omnigraffle/Voting Example/Cards-Workflow.csv
|
15
|
+
examples/numbers to omnigraffle/generate_card_walls
|
5
16
|
lib/cards.rb
|
6
17
|
lib/cards/builder.rb
|
7
18
|
lib/cards/card.rb
|
@@ -0,0 +1,16 @@
|
|
1
|
+
Role,Task,Story,Note,Estimate
|
2
|
+
Voter,Vote on question,Ability to see question,,1
|
3
|
+
,,Ability to see choices,,1
|
4
|
+
,,Ability to choose,This is the server trip,2
|
5
|
+
,Navigate questions,Ability to continue to next / prev,,1
|
6
|
+
,,Ability to see list of questions,This includes ability to jump to that question,4
|
7
|
+
,Submit,Ability to return to new screen,,1
|
8
|
+
Admin,Create questions,Ability to enter question,,4
|
9
|
+
,,Ability to reorder question,,4
|
10
|
+
,,Ability to enter multiple choice question,,1
|
11
|
+
,,Ability to enter text question,,1
|
12
|
+
,,Ability to enter long text question,,1
|
13
|
+
,,Ability to enter list question,,2
|
14
|
+
,Compile votes,Ability to see results in spreadsheet,,4
|
15
|
+
,,Ability to see summary of results,This includes percentage of each question answering which answer,2
|
16
|
+
,Announce winners,,,
|
@@ -0,0 +1,63 @@
|
|
1
|
+
digraph G {
|
2
|
+
graph [nodesep=.1, ranksep=.1, ordering=out];
|
3
|
+
node [shape=box, color=black, style=filled, width=2, height=1.2, fixedsize=true, labeljust="l"];
|
4
|
+
edge [style=invis, weight=1];
|
5
|
+
card_0_0 [label="Voter",fillcolor=lightblue];
|
6
|
+
card_0_1 [label="Vote on question",fillcolor=pink];
|
7
|
+
card_0_2 [label="Ability to see\nquestion 1",fillcolor=lightyellow];
|
8
|
+
card_0_3 [label="Ability to see\nchoices 1",fillcolor=lightyellow];
|
9
|
+
card_0_4 [label="Ability to choose\nThis is the server\ntrip 2",fillcolor=lightyellow];
|
10
|
+
card_1_1 [label="Navigate questions",fillcolor=pink];
|
11
|
+
card_1_2 [label="Ability to continue\nto next / prev 1",fillcolor=lightyellow];
|
12
|
+
card_1_3 [label="Ability to see list\nof questions This\nincludes ability to\njump to that\nquestion 4",fillcolor=lightyellow];
|
13
|
+
card_2_1 [label="Submit",fillcolor=pink];
|
14
|
+
card_2_2 [label="Ability to return to\nnew screen 1",fillcolor=lightyellow];
|
15
|
+
card_3_0 [label="Admin",fillcolor=lightblue];
|
16
|
+
card_3_1 [label="Create questions",fillcolor=pink];
|
17
|
+
card_3_2 [label="Ability to enter\nquestion 4",fillcolor=lightyellow];
|
18
|
+
card_3_3 [label="Ability to reorder\nquestion 4",fillcolor=lightyellow];
|
19
|
+
card_3_4 [label="Ability to enter\nmultiple choice\nquestion 1",fillcolor=lightyellow];
|
20
|
+
card_3_5 [label="Ability to enter\ntext question 1",fillcolor=lightyellow];
|
21
|
+
card_4_2 [label="Ability to enter\nlong text question\n1",fillcolor=lightyellow];
|
22
|
+
card_4_3 [label="Ability to enter\nlist question 2",fillcolor=lightyellow];
|
23
|
+
card_5_1 [label="Compile votes",fillcolor=pink];
|
24
|
+
card_5_2 [label="Ability to see\nresults in\nspreadsheet 4",fillcolor=lightyellow];
|
25
|
+
card_5_3 [label="Ability to see\nsummary of results\nThis includes\npercentage of each\nquestion answering\nwhich answer 2",fillcolor=lightyellow];
|
26
|
+
card_6_1 [label="Announce winners",fillcolor=pink];
|
27
|
+
gap_1_0 [style=invis];
|
28
|
+
gap_2_0 [style=invis];
|
29
|
+
gap_4_0 [style=invis];
|
30
|
+
gap_4_1 [style=invis];
|
31
|
+
gap_5_0 [style=invis];
|
32
|
+
gap_6_0 [style=invis];
|
33
|
+
{rank=same; card_0_0; gap_1_0; gap_2_0; card_3_0; gap_4_0; gap_5_0; gap_6_0};
|
34
|
+
{rank=same; card_0_1; card_1_1; card_2_1; card_3_1; gap_4_1; card_5_1; card_6_1};
|
35
|
+
{rank=same; card_0_2; card_1_2; card_2_2; card_3_2; card_4_2; card_5_2};
|
36
|
+
card_0_0 -> gap_1_0;
|
37
|
+
gap_1_0 -> gap_2_0;
|
38
|
+
gap_2_0 -> card_3_0;
|
39
|
+
card_3_0 -> gap_4_0;
|
40
|
+
gap_4_0 -> gap_5_0;
|
41
|
+
gap_5_0 -> gap_6_0;
|
42
|
+
card_0_0 -> card_0_1;
|
43
|
+
card_0_1 -> card_0_2;
|
44
|
+
card_0_2 -> card_0_3;
|
45
|
+
card_0_3 -> card_0_4;
|
46
|
+
gap_1_0 -> card_1_1;
|
47
|
+
card_1_1 -> card_1_2;
|
48
|
+
card_1_2 -> card_1_3;
|
49
|
+
gap_2_0 -> card_2_1;
|
50
|
+
card_2_1 -> card_2_2;
|
51
|
+
card_3_0 -> card_3_1;
|
52
|
+
card_3_1 -> card_3_2;
|
53
|
+
card_3_2 -> card_3_3;
|
54
|
+
card_3_3 -> card_3_4;
|
55
|
+
card_3_4 -> card_3_5;
|
56
|
+
gap_4_0 -> gap_4_1;
|
57
|
+
gap_4_1 -> card_4_2;
|
58
|
+
card_4_2 -> card_4_3;
|
59
|
+
gap_5_0 -> card_5_1;
|
60
|
+
card_5_1 -> card_5_2;
|
61
|
+
card_5_2 -> card_5_3;
|
62
|
+
gap_6_0 -> card_6_1;
|
63
|
+
}
|
@@ -0,0 +1,25 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require 'rubygems'
|
4
|
+
require 'cards'
|
5
|
+
|
6
|
+
include Cards
|
7
|
+
|
8
|
+
def csv_file(name)
|
9
|
+
CsvParser.new(File.dirname(__FILE__) + "/#{name}.csv")
|
10
|
+
end
|
11
|
+
|
12
|
+
CardWall.writer = DotWriter
|
13
|
+
|
14
|
+
CardWall.from csv_file("Stories") do
|
15
|
+
row :role
|
16
|
+
row :task
|
17
|
+
column :story, :wrap_at => 4 do |card, row|
|
18
|
+
card.name << "\n\n#{row[:note]}" unless row[:note].blank?
|
19
|
+
card.name << "\n\n#{row[:estimate]}" unless row[:estimate].blank?
|
20
|
+
end
|
21
|
+
end
|
22
|
+
puts "generated Stories.dot"
|
23
|
+
|
24
|
+
# uncomment this line if you want to see the generated file
|
25
|
+
# `open "#{File.dirname(__FILE__)}/Stories.dot"`
|
@@ -0,0 +1,16 @@
|
|
1
|
+
Role,Task,Story,Note,Estimate
|
2
|
+
Voter,Vote on question,Ability to see question,,1
|
3
|
+
,,Ability to see choices,,1
|
4
|
+
,,Ability to choose,This is the server trip,2
|
5
|
+
,Navigate questions,Ability to continue to next / prev,,1
|
6
|
+
,,Ability to see list of questions,This includes ability to jump to that question,4
|
7
|
+
,Submit,Ability to return to new screen,,1
|
8
|
+
Admin,Create questions,Ability to enter question,,4
|
9
|
+
,,Ability to reorder question,,4
|
10
|
+
,,Ability to enter multiple choice question,,1
|
11
|
+
,,Ability to enter text question,,1
|
12
|
+
,,Ability to enter long text question,,1
|
13
|
+
,,Ability to enter list question,,2
|
14
|
+
,Compile votes,Ability to see results in spreadsheet,,4
|
15
|
+
,,Ability to see summary of results,This includes percentage of each question answering which answer,2
|
16
|
+
,Announce winners,,,
|
@@ -0,0 +1 @@
|
|
1
|
+
????????
|
Binary file
|
Binary file
|
Binary file
|
@@ -0,0 +1,32 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# this doesn't actually read the numbers document, you must export csv from numbers as we've done here,
|
3
|
+
# the csv can then be parsed and turned into omnigraffle
|
4
|
+
|
5
|
+
require 'rubygems'
|
6
|
+
require 'cards'
|
7
|
+
include Cards
|
8
|
+
|
9
|
+
def csv_file(name)
|
10
|
+
CsvParser.new(File.dirname(__FILE__) + "/Voting Example/Cards-#{name}.csv")
|
11
|
+
end
|
12
|
+
|
13
|
+
CardWall.colors[:goal] = :green
|
14
|
+
CardWall.writer = GraffleWriter
|
15
|
+
|
16
|
+
CardWall.from csv_file("Goals") do
|
17
|
+
column :goal
|
18
|
+
end
|
19
|
+
|
20
|
+
CardWall.from csv_file("Workflow") do
|
21
|
+
row :role
|
22
|
+
column :task, :wrap_at => 5
|
23
|
+
end
|
24
|
+
|
25
|
+
CardWall.from csv_file("Stories") do
|
26
|
+
row :role
|
27
|
+
row :task
|
28
|
+
column :story, :wrap_at => 4 do |card, row|
|
29
|
+
card.name = " #{row[:estimate]}\n\n#{card.name}" unless row[:estimate].blank?
|
30
|
+
card.name << "\n\n#{row[:note]}" unless row[:note].blank?
|
31
|
+
end
|
32
|
+
end
|
data/lib/cards/card_wall.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
module Cards
|
2
2
|
class DotWriter
|
3
|
-
def initialize(
|
4
|
-
@file =
|
3
|
+
def initialize(file_name)
|
4
|
+
@file = File.open(file_name + ".dot", "w")
|
5
5
|
@node_color = {:green => "darkseagreen1", :blue => "lightblue", :red => "pink", :yellow => "lightyellow"}
|
6
6
|
@nodes = []
|
7
7
|
|
@@ -24,6 +24,7 @@ module Cards
|
|
24
24
|
create_ranks
|
25
25
|
create_edges
|
26
26
|
puts "}"
|
27
|
+
@file.close
|
27
28
|
end
|
28
29
|
|
29
30
|
private
|
data/lib/cards.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cards
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: "0.
|
4
|
+
version: "0.7"
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jeremy Stell-Smith
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2008-06-
|
12
|
+
date: 2008-06-06 00:00:00 -07:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -36,6 +36,17 @@ files:
|
|
36
36
|
- Manifest.txt
|
37
37
|
- README.txt
|
38
38
|
- Rakefile
|
39
|
+
- examples/csv to dot/Stories.csv
|
40
|
+
- examples/csv to dot/Stories.dot
|
41
|
+
- examples/csv to dot/generate_card_walls
|
42
|
+
- examples/numbers to omnigraffle/Voting Example.numbers/Contents/PkgInfo
|
43
|
+
- examples/numbers to omnigraffle/Voting Example.numbers/QuickLook/Thumbnail.jpg
|
44
|
+
- examples/numbers to omnigraffle/Voting Example.numbers/document-thumbnail.tiff
|
45
|
+
- examples/numbers to omnigraffle/Voting Example.numbers/index.xml.gz
|
46
|
+
- examples/numbers to omnigraffle/Voting Example/Cards-Goals.csv
|
47
|
+
- examples/numbers to omnigraffle/Voting Example/Cards-Stories.csv
|
48
|
+
- examples/numbers to omnigraffle/Voting Example/Cards-Workflow.csv
|
49
|
+
- examples/numbers to omnigraffle/generate_card_walls
|
39
50
|
- lib/cards.rb
|
40
51
|
- lib/cards/builder.rb
|
41
52
|
- lib/cards/card.rb
|