crosstab 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,3 +1,7 @@
1
+ == 0.1.1 / 2007-11-17
2
+
3
+ * Fixed dependency on text/reform, should now install automatically
4
+
1
5
  == 0.1.0 / 2007-11-17
2
6
 
3
7
  * First release
data/README.txt CHANGED
@@ -15,6 +15,7 @@ Crosstab is a library for generating formatted pivot tables.
15
15
 
16
16
  == SYNOPSIS:
17
17
 
18
+ require 'rubygems'
18
19
  require 'crosstab'
19
20
 
20
21
  data = [{:gender => "M", :age => 1},
@@ -23,13 +24,7 @@ Crosstab is a library for generating formatted pivot tables.
23
24
 
24
25
  my_crosstab = crosstab data do
25
26
  table do
26
- title "Q.A Gender:"
27
- row "Male", :gender => "M"
28
- row "Female", :gender => "F"
29
- end
30
-
31
- table do
32
- title "Q.B Age:"
27
+ title "Q.A Age:"
33
28
  group "18 - 54" do
34
29
  row "18 - 34", :age => 1
35
30
  row "35 - 54", :age => 2
@@ -47,49 +42,30 @@ Crosstab is a library for generating formatted pivot tables.
47
42
  end
48
43
 
49
44
  puts my_crosstab.to_s
50
-
51
- == REPORT:
52
-
53
- # puts my_crosstab.to_s
54
- Table 1
55
- Q.A Gender:
56
- Gender
57
- ----------------
58
- Total Male Female
59
- (A) (B) (C)
60
- ------- ------- -------
61
- (BASE) 3 2 1
62
45
 
63
- Male 2 2 --
64
- 67% 100%
65
-
66
- Female 1 -- 1
67
- 33% 100%
68
-
69
- ------------------------------------------------------------------------
70
- Table 2
71
- Q.B Age:
72
- Gender
73
- ----------------
74
- Total Male Female
75
- (A) (B) (C)
76
- ------- ------- -------
77
- (BASE) 3 2 1
78
-
79
- 18 - 54 2 1 1
80
- ----------------------------- 67% 50% 100%
46
+ # => ...
47
+
48
+ Table 1
49
+ Q.A Age:
50
+ Gender
51
+ ----------------
52
+ Total Male Female
53
+ (A) (B) (C)
54
+ ------- ------- -------
55
+ (BASE) 3 2 1
81
56
 
82
- 18 - 34 1 1 --
83
- 33% 50%
57
+ 18 - 54 2 1 1
58
+ ----------------------------- 67% 50% 100%
84
59
 
85
- 35 - 54 1 -- 1
86
- 33% 100%
60
+ 18 - 34 1 1 --
61
+ 33% 50%
87
62
 
88
- 55 or older 1 1 --
89
- 33% 50%
63
+ 35 - 54 1 -- 1
64
+ 33% 100%
90
65
 
66
+ 55 or older 1 1 --
67
+ 33% 50%
91
68
 
92
- ------------------------------------------------------------------------
93
69
  == JUST THE BEGINNING:
94
70
 
95
71
  * I hope to add in later releases:
data/Rakefile CHANGED
@@ -12,6 +12,7 @@ Hoe.new('crosstab', Crosstab::VERSION) do |p|
12
12
  p.url = p.paragraphs_of('README.txt', 0).first.split(/\n/)[1..-1]
13
13
  p.changes = p.paragraphs_of('History.txt', 0..1).join("\n\n")
14
14
  p.remote_rdoc_dir = '' # Release to root
15
+ p.extra_deps = ["text/reform"]
15
16
  end
16
17
 
17
18
  # vim: syntax=Ruby
@@ -2,7 +2,7 @@ dir = File.dirname(__FILE__)
2
2
  $LOAD_PATH << dir unless $LOAD_PATH.include?(dir)
3
3
 
4
4
  module Crosstab
5
- VERSION = '0.1.0'
5
+ VERSION = '0.1.1'
6
6
  end
7
7
 
8
8
  require 'crosstab/generic'
@@ -10,7 +10,9 @@ class Crosstab::Table < Crosstab::Generic
10
10
  # end
11
11
  # end
12
12
  #
13
- def initialize(&block)
13
+ def initialize(label=nil, qual=nil, &block)
14
+ title label if label
15
+ qualification qual if qual
14
16
  instance_eval(&block) if block
15
17
  end
16
18
 
metadata CHANGED
@@ -3,7 +3,7 @@ rubygems_version: 0.9.3
3
3
  specification_version: 1
4
4
  name: crosstab
5
5
  version: !ruby/object:Gem::Version
6
- version: 0.1.0
6
+ version: 0.1.1
7
7
  date: 2007-10-18 00:00:00 -07:00
8
8
  summary: Crosstab is a library for generating formatted pivot tables.
9
9
  require_paths:
@@ -11,7 +11,7 @@ require_paths:
11
11
  email: mjudge@surveycomplete.com
12
12
  homepage: " by Michael Judge <mjudge@surveycomplete.com>"
13
13
  rubyforge_project: crosstab
14
- description: "== FEATURES: * Input your data as an array of hashes * Input a report layout, built using a Ruby DSL * Outputs ASCII pivot tables suitable for fast reports * Pretty fast: takes less than a second to process 1,000 records of data by a report with 100 rows and 10 columns. == SYNOPSIS: require 'crosstab' data = [{:gender => \"M\", :age => 1}, {:gender => \"F\", :age => 2}, {:gender => \"M\", :age => 3}] my_crosstab = crosstab data do table do title \"Q.A Gender:\" row \"Male\", :gender => \"M\" row \"Female\", :gender => \"F\" end table do title \"Q.B Age:\" group \"18 - 54\" do row \"18 - 34\", :age => 1 row \"35 - 54\", :age => 2 end row \"55 or older\", :age => 3 end banner do column \"Total\" group \"Gender\" do column \"Male\", :gender => \"M\" column \"Female\", :gender => \"F\" end end end puts my_crosstab.to_s == REPORT: # puts my_crosstab.to_s Table 1 Q.A Gender: Gender ---------------- Total Male Female (A) (B) (C) ------- ------- ------- (BASE) 3 2 1 Male 2 2 -- 67% 100% Female 1 -- 1 33% 100% ------------------------------------------------------------------------ Table 2 Q.B Age: Gender ---------------- Total Male Female (A) (B) (C) ------- ------- ------- (BASE) 3 2 1 18 - 54 2 1 1 ----------------------------- 67% 50% 100% 18 - 34 1 1 -- 33% 50% 35 - 54 1 -- 1 33% 100% 55 or older 1 1 -- 33% 50%"
14
+ description: "== FEATURES: * Input your data as an array of hashes * Input a report layout, built using a Ruby DSL * Outputs ASCII pivot tables suitable for fast reports * Pretty fast: takes less than a second to process 1,000 records of data by a report with 100 rows and 10 columns. == SYNOPSIS: require 'rubygems' require 'crosstab' data = [{:gender => \"M\", :age => 1}, {:gender => \"F\", :age => 2}, {:gender => \"M\", :age => 3}] my_crosstab = crosstab data do table do title \"Q.A Age:\" group \"18 - 54\" do row \"18 - 34\", :age => 1 row \"35 - 54\", :age => 2 end row \"55 or older\", :age => 3 end banner do column \"Total\" group \"Gender\" do column \"Male\", :gender => \"M\" column \"Female\", :gender => \"F\" end end end puts my_crosstab.to_s # => ... Table 1 Q.A Age: Gender ---------------- Total Male Female (A) (B) (C) ------- ------- ------- (BASE) 3 2 1 18 - 54 2 1 1 ----------------------------- 67% 50% 100% 18 - 34 1 1 -- 33% 50% 35 - 54 1 -- 1 33% 100% 55 or older 1 1 -- 33% 50% == JUST THE BEGINNING: * I hope to add in later releases: * New export formats: html, pdf, csv, excel. * More stats than just frequency and percentage: mean, median, std. deviation, std. error, and significance testing * Optional row and table suppression for low frequencies * Optional table rows populating from the data * Optional table ranking -- automatically reorder rows based in descending order based on frequencies observed == REQUIREMENTS: * None"
15
15
  autorequire:
16
16
  default_executable:
17
17
  bindir: bin
@@ -76,6 +76,15 @@ extensions: []
76
76
  requirements: []
77
77
 
78
78
  dependencies:
79
+ - !ruby/object:Gem::Dependency
80
+ name: text/reform
81
+ version_requirement:
82
+ version_requirements: !ruby/object:Gem::Version::Requirement
83
+ requirements:
84
+ - - ">"
85
+ - !ruby/object:Gem::Version
86
+ version: 0.0.0
87
+ version:
79
88
  - !ruby/object:Gem::Dependency
80
89
  name: hoe
81
90
  version_requirement:
@@ -83,5 +92,5 @@ dependencies:
83
92
  requirements:
84
93
  - - ">="
85
94
  - !ruby/object:Gem::Version
86
- version: 1.2.1
95
+ version: 1.3.0
87
96
  version: