crosstab 0.1.0 → 0.1.1

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.
@@ -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: