tableizer 0.0.2 → 0.0.3

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/.gitignore CHANGED
@@ -1,4 +1,17 @@
1
1
  *.gem
2
+ *.rbc
2
3
  .bundle
3
- Gemfile.lock
4
- pkg/*
4
+ .config
5
+ .yardoc
6
+ InstalledFiles
7
+ _yardoc
8
+ coverage
9
+ doc/
10
+ lib/bundler/man
11
+ pkg
12
+ rdoc
13
+ spec/reports
14
+ test/tmp
15
+ test/version_tmp
16
+ tmp
17
+ .DS_Store
data/Gemfile CHANGED
@@ -1,4 +1,5 @@
1
- source "http://rubygems.org"
1
+ source 'https://rubygems.org'
2
2
 
3
3
  # Specify your gem's dependencies in tableizer.gemspec
4
4
  gemspec
5
+
@@ -0,0 +1,74 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ tableizer (0.0.3)
5
+
6
+ GEM
7
+ remote: https://rubygems.org/
8
+ specs:
9
+ binding_of_caller (0.6.8)
10
+ coderay (1.0.8)
11
+ columnize (0.3.6)
12
+ debugger (1.2.1)
13
+ columnize (>= 0.3.1)
14
+ debugger-linecache (~> 1.1.1)
15
+ debugger-ruby_core_source (~> 1.1.4)
16
+ debugger-linecache (1.1.2)
17
+ debugger-ruby_core_source (>= 1.1.1)
18
+ debugger-ruby_core_source (1.1.4)
19
+ guard (1.5.4)
20
+ listen (>= 0.4.2)
21
+ lumberjack (>= 1.0.2)
22
+ pry (>= 0.9.10)
23
+ thor (>= 0.14.6)
24
+ guard-minitest (0.5.0)
25
+ guard (>= 0.4)
26
+ listen (0.5.3)
27
+ lumberjack (1.0.2)
28
+ method_source (0.8.1)
29
+ minitest (4.3.2)
30
+ minitest_should (0.3.1)
31
+ pry (0.9.10)
32
+ coderay (~> 1.0.5)
33
+ method_source (~> 0.8)
34
+ slop (~> 3.3.1)
35
+ pry-doc (0.4.4)
36
+ pry (>= 0.9.9.6)
37
+ yard (~> 0.8.1)
38
+ pry-nav (0.2.2)
39
+ pry (~> 0.9.10)
40
+ pry-rails (0.2.1)
41
+ pry (>= 0.9.10)
42
+ pry-remote (0.1.6)
43
+ pry (~> 0.9)
44
+ slop (~> 3.0)
45
+ pry-stack_explorer (0.4.6)
46
+ binding_of_caller (~> 0.6.2)
47
+ rake (10.0.2)
48
+ rb-fsevent (0.9.2)
49
+ ruby-prof (0.11.2)
50
+ ruby_gntp (0.3.4)
51
+ slop (3.3.3)
52
+ thor (0.16.0)
53
+ yard (0.8.2.1)
54
+
55
+ PLATFORMS
56
+ ruby
57
+
58
+ DEPENDENCIES
59
+ bundler (~> 1.0)
60
+ debugger
61
+ guard
62
+ guard-minitest
63
+ minitest
64
+ minitest_should
65
+ pry-doc
66
+ pry-nav
67
+ pry-rails
68
+ pry-remote
69
+ pry-stack_explorer
70
+ rake
71
+ rb-fsevent
72
+ ruby-prof
73
+ ruby_gntp
74
+ tableizer!
@@ -0,0 +1,8 @@
1
+ # A sample Guardfile
2
+ # More info at https://github.com/guard/guard#readme
3
+
4
+ guard :minitest do
5
+ watch(%r{^lib/(.+)\.rb$}) { |m| file = "test/#{m[1]}_test.rb"; puts file; file }
6
+ watch(%r{^test/.+_test\.rb$})
7
+ watch('test/test_helper.rb') { "test" }
8
+ end
@@ -0,0 +1,22 @@
1
+ Copyright (c) 2012 Martin Chabot
2
+
3
+ MIT License
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ "Software"), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md CHANGED
@@ -1 +1,29 @@
1
- # Nothing Done Here
1
+ # Tableizer
2
+
3
+ TODO: Write a gem description
4
+
5
+ ## Installation
6
+
7
+ Add this line to your application's Gemfile:
8
+
9
+ gem 'tableizer'
10
+
11
+ And then execute:
12
+
13
+ $ bundle
14
+
15
+ Or install it yourself as:
16
+
17
+ $ gem install tableizer
18
+
19
+ ## Usage
20
+
21
+ TODO: Write usage instructions here
22
+
23
+ ## Contributing
24
+
25
+ 1. Fork it
26
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
27
+ 3. Commit your changes (`git commit -am 'Add some feature'`)
28
+ 4. Push to the branch (`git push origin my-new-feature`)
29
+ 5. Create new Pull Request
data/Rakefile CHANGED
@@ -1,2 +1,16 @@
1
+ #!/usr/bin/env rake
1
2
  require 'bundler'
2
- Bundler::GemHelper.install_tasks
3
+ Bundler.require(:default, :development)
4
+ require 'bundler/gem_tasks'
5
+
6
+ require 'rake/testtask'
7
+
8
+ Rake::TestTask.new do |t|
9
+ t.pattern = "test/*_test.rb"
10
+ # To avoid requirement of File.expand_path(File.dirname(__FILE__) + 'test_helper') from test files
11
+ t.libs << 'test'
12
+ end
13
+
14
+
15
+ task :default => [:test]
16
+
@@ -1,3 +1,5 @@
1
+ require "tableizer/version"
2
+
1
3
  module Tableizer
2
- # Your code goes here..
4
+ # Your code goes here...
3
5
  end
@@ -0,0 +1,105 @@
1
+ require 'csv'
2
+
3
+ class ColInfo
4
+ attr_reader :header
5
+ attr_accessor :width, :col_type
6
+ def initialize(header, col_type = nil, width = 0)
7
+ @header = header
8
+ @col_type = col_type
9
+ @width = width
10
+ end
11
+ end
12
+
13
+
14
+ class DataTable
15
+ attr_reader :rows, :cols_info
16
+
17
+ def initialize(cols_info, rows)
18
+ @rows = rows
19
+ @cols_info = cols_info
20
+ end
21
+
22
+ def to_csv
23
+ CSV.generate do |csv|
24
+ csv << cols_info.map{|col_info| col_info.header}
25
+ rows.each do |row|
26
+ conv_row = row.map do |a|
27
+ a.class == Time ? a.strftime("%Y-%m-%d %H:%M:%S") : a
28
+ end
29
+ csv << conv_row
30
+ end
31
+ end
32
+ end
33
+
34
+ def to_text
35
+ text = ""
36
+ text << cols_info.map{|a| "%#{a.width}s" % a.header.strip }.join("|") + "\n"
37
+ text << rows.map do |row|
38
+ row.zip(cols_info).map{|(col, col_info)| "%#{col_info.width}s" % col.to_s.strip}.join("|")
39
+ end.join( "\n" )
40
+ end
41
+
42
+ def to_html
43
+ text = "<table border=\"1\">\n"
44
+ text += "<thead>\n"
45
+ text += "<tr>\n"
46
+ text << cols_info.map{|a| "<th>#{a.header.strip}</th>" }.join("\n")
47
+ text += "</tr>\n"
48
+ text += "</thead>"
49
+ text += "<tbody>"
50
+ text << rows.map do |row|
51
+ "<tr>" + row.map{|col| "<td>#{col}</td>"}.join("\n") + "</tr>"
52
+ end.join( "\n" )
53
+ text += "</tbody>"
54
+ text += "</table>"
55
+ end
56
+
57
+ def to_google_table
58
+ GoogleVisualization.render( rows, cols_info.map{|col| [col.col_type, col.header]} )
59
+ end
60
+
61
+ # def to_pdf
62
+ # pdf = Prawn::Document.new(:top_margin => 50, :page_layout => :landscape)
63
+
64
+ # data = rows.map do |row|
65
+ # row.zip(cols_info).map do |(col, col_info)|
66
+ # col
67
+ # end
68
+ # end
69
+ # data
70
+ # pdf.table( data, :border_style => :grid,
71
+ # :headers => cols_info.map{|col_info| col_info.header},
72
+ # :font_size => 7,
73
+ # :vertical_padding => 1
74
+ # )
75
+ # pdf.render
76
+ # end
77
+ end
78
+
79
+
80
+ module Enumerable
81
+ def table
82
+ rows = []
83
+ cols_info = []
84
+ gen = nil
85
+ each do |elem|
86
+ ret = yield elem
87
+ rows << ret.map{|col| col[1]}
88
+ unless cols_info.empty?
89
+ ret.zip(cols_info).each do |(row, col_info)|
90
+ # Detect the type of the current column
91
+ if col_info.col_type == NilClass && row[1].class != NilClass
92
+ col_info.col_type = row[1].class
93
+ end
94
+ # Detect the max width the current column
95
+ col_info.width = [ col_info.width, row[1].to_s.strip.length ].max
96
+ end
97
+ else
98
+ cols_info = ret.map do |(header, val)|
99
+ ColInfo.new( header.to_s, val.class, [ header.to_s.strip.length, val.to_s.strip.length ].max )
100
+ end
101
+ end
102
+ end
103
+ DataTable.new(cols_info,rows)
104
+ end
105
+ end
@@ -1,3 +1,3 @@
1
1
  module Tableizer
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
@@ -1,21 +1,37 @@
1
1
  # -*- encoding: utf-8 -*-
2
- $:.push File.expand_path("../lib", __FILE__)
3
- require "tableizer/version"
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'tableizer/version'
4
5
 
5
- Gem::Specification.new do |s|
6
- s.name = "tableizer"
7
- s.version = Tableizer::VERSION
8
- s.platform = Gem::Platform::RUBY
9
- s.authors = ["Martin Chabot"]
10
- s.email = ["chabotm@gmail.com"]
11
- s.homepage = "https://github.com/martinos/tableizer"
12
- s.summary = %q{Converts Ruby objects into tables}
13
- s.description = %q{Converts Ruby objects into tables}
6
+ Gem::Specification.new do |gem|
7
+ gem.name = "tableizer"
8
+ gem.version = Tableizer::VERSION
9
+ # gem.add_dependency "put dependency here"
10
+ gem.add_development_dependency 'rake'
11
+ gem.add_development_dependency "bundler", "~> 1.0"
12
+ gem.add_development_dependency 'minitest'
13
+ gem.add_development_dependency 'minitest_should'
14
+ gem.add_development_dependency "bundler", "~> 1.0"
15
+ gem.add_development_dependency 'pry-rails'
16
+ gem.add_development_dependency 'pry-nav'
17
+ gem.add_development_dependency 'pry-doc'
18
+ gem.add_development_dependency 'pry-stack_explorer'
19
+ gem.add_development_dependency 'pry-remote'
14
20
 
15
- s.rubyforge_project = "tableizer"
21
+ gem.add_development_dependency "guard"
22
+ gem.add_development_dependency "guard-minitest"
23
+ gem.add_development_dependency 'rb-fsevent'
24
+ gem.add_development_dependency 'ruby_gntp'
25
+ gem.add_development_dependency 'ruby-prof'
26
+ gem.add_development_dependency 'debugger'
27
+ gem.authors = ["Martin Chabot"]
28
+ gem.email = ["chabotm@gmail.com"]
29
+ gem.description = %q{Adds the ability to Enumerable to generate tables into different formats}
30
+ gem.summary = %q{Adds the ability to Enumerable to generate tables into different formats}
31
+ gem.homepage = ""
16
32
 
17
- s.files = `git ls-files`.split("\n")
18
- s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
19
- s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
20
- s.require_paths = ["lib"]
33
+ gem.files = `git ls-files`.split($/)
34
+ gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
35
+ gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
36
+ gem.require_paths = ["lib"]
21
37
  end
@@ -0,0 +1,67 @@
1
+ $LOAD_PATH << (File.join(File.expand_path(File.dirname(__FILE__)),'..', 'lib'))
2
+ require_relative '../test_helper'
3
+ require 'tableizer/data_table'
4
+
5
+ class TestDataTable < MiniTest::Should::TestCase
6
+ context "A enumerable" do
7
+ should "return a DataTable" do
8
+ assert_kind_of( DataTable, [ 1,2,3 ].table{|a| [[ "Col1", a ],["Col2", a + 1] ]})
9
+ end
10
+ end
11
+
12
+ context "A valid DataTable" do
13
+ setup do
14
+ @table = [ 1,2,3 ].table{|elem| [ ["col1",elem * 2], ["col2", elem == 3 ? "60000" : (elem * 2 + 1).to_s] ] }
15
+ end
16
+
17
+ should "return the collected rows" do
18
+ assert_equal( [[2,"3"],[4,"5"],[6,"60000"]], @table.rows )
19
+ end
20
+
21
+ should "return the headers" do
22
+ assert_equal( ["col1","col2"], @table.cols_info.map{|col| col.header} )
23
+ end
24
+
25
+ should "detect the column types" do
26
+ assert_equal( [Fixnum, String], @table.cols_info.map{|col| col.col_type} )
27
+ end
28
+ should "detect the columns width" do
29
+ assert_equal([4,5], @table.cols_info.map{|col| col.width} )
30
+ end
31
+ end
32
+
33
+ context "A Valid table with containing nil value" do
34
+ setup do
35
+ @table = [1, 2, 3].table do |elem|
36
+ [ [ "col1", elem ],
37
+ [ "col2", elem == 2 ? nil : (elem + 1).to_s ] ]
38
+ end
39
+ end
40
+ should "detect the column type" do
41
+ assert_equal( [Fixnum, String], @table.cols_info.map{|col_info| col_info.col_type })
42
+ end
43
+ should "be convertable to csv" do
44
+ expected = <<EOF
45
+ col1,col2
46
+ 1,2
47
+ 2,
48
+ 3,4
49
+ EOF
50
+ assert_equal( expected, @table.to_csv )
51
+ end
52
+ end
53
+
54
+ context "A Valid table containing Time value should be convert to ISO 8601 string" do
55
+ @table = [Time.local(2009,12,1, 13,44,23)].table do |elem|
56
+ [ [ "col1", elem ]]
57
+ end
58
+ should "Convert time to UTC" do
59
+ expected = <<EOF
60
+ col1
61
+ 2009-12-01 18:44:31
62
+ EOF
63
+ end
64
+ end
65
+
66
+ end
67
+
@@ -0,0 +1,9 @@
1
+ require_relative 'test_helper'
2
+
3
+ module Tableizer
4
+ class TableizerTest < MiniTest::Unit::TestCase
5
+ def test_truth
6
+ assert true
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,5 @@
1
+ $:.unshift File.expand_path('..', __FILE__)
2
+ $:.unshift File.expand_path('../../lib', __FILE__)
3
+ require 'minitest/unit'
4
+ require 'minitest/autorun'
5
+ require 'minitest/should'
metadata CHANGED
@@ -1,74 +1,327 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: tableizer
3
- version: !ruby/object:Gem::Version
4
- hash: 27
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.3
5
5
  prerelease:
6
- segments:
7
- - 0
8
- - 0
9
- - 2
10
- version: 0.0.2
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Martin Chabot
14
9
  autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
-
18
- date: 2011-04-04 00:00:00 -04:00
19
- default_executable:
20
- dependencies: []
21
-
22
- description: Converts Ruby objects into tables
23
- email:
12
+ date: 2012-12-06 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: rake
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :development
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: '0'
30
+ - !ruby/object:Gem::Dependency
31
+ name: bundler
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ~>
36
+ - !ruby/object:Gem::Version
37
+ version: '1.0'
38
+ type: :development
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ~>
44
+ - !ruby/object:Gem::Version
45
+ version: '1.0'
46
+ - !ruby/object:Gem::Dependency
47
+ name: minitest
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ! '>='
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
54
+ type: :development
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ - !ruby/object:Gem::Dependency
63
+ name: minitest_should
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ! '>='
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
70
+ type: :development
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
78
+ - !ruby/object:Gem::Dependency
79
+ name: bundler
80
+ requirement: !ruby/object:Gem::Requirement
81
+ none: false
82
+ requirements:
83
+ - - ~>
84
+ - !ruby/object:Gem::Version
85
+ version: '1.0'
86
+ type: :development
87
+ prerelease: false
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ~>
92
+ - !ruby/object:Gem::Version
93
+ version: '1.0'
94
+ - !ruby/object:Gem::Dependency
95
+ name: pry-rails
96
+ requirement: !ruby/object:Gem::Requirement
97
+ none: false
98
+ requirements:
99
+ - - ! '>='
100
+ - !ruby/object:Gem::Version
101
+ version: '0'
102
+ type: :development
103
+ prerelease: false
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
110
+ - !ruby/object:Gem::Dependency
111
+ name: pry-nav
112
+ requirement: !ruby/object:Gem::Requirement
113
+ none: false
114
+ requirements:
115
+ - - ! '>='
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
122
+ requirements:
123
+ - - ! '>='
124
+ - !ruby/object:Gem::Version
125
+ version: '0'
126
+ - !ruby/object:Gem::Dependency
127
+ name: pry-doc
128
+ requirement: !ruby/object:Gem::Requirement
129
+ none: false
130
+ requirements:
131
+ - - ! '>='
132
+ - !ruby/object:Gem::Version
133
+ version: '0'
134
+ type: :development
135
+ prerelease: false
136
+ version_requirements: !ruby/object:Gem::Requirement
137
+ none: false
138
+ requirements:
139
+ - - ! '>='
140
+ - !ruby/object:Gem::Version
141
+ version: '0'
142
+ - !ruby/object:Gem::Dependency
143
+ name: pry-stack_explorer
144
+ requirement: !ruby/object:Gem::Requirement
145
+ none: false
146
+ requirements:
147
+ - - ! '>='
148
+ - !ruby/object:Gem::Version
149
+ version: '0'
150
+ type: :development
151
+ prerelease: false
152
+ version_requirements: !ruby/object:Gem::Requirement
153
+ none: false
154
+ requirements:
155
+ - - ! '>='
156
+ - !ruby/object:Gem::Version
157
+ version: '0'
158
+ - !ruby/object:Gem::Dependency
159
+ name: pry-remote
160
+ requirement: !ruby/object:Gem::Requirement
161
+ none: false
162
+ requirements:
163
+ - - ! '>='
164
+ - !ruby/object:Gem::Version
165
+ version: '0'
166
+ type: :development
167
+ prerelease: false
168
+ version_requirements: !ruby/object:Gem::Requirement
169
+ none: false
170
+ requirements:
171
+ - - ! '>='
172
+ - !ruby/object:Gem::Version
173
+ version: '0'
174
+ - !ruby/object:Gem::Dependency
175
+ name: guard
176
+ requirement: !ruby/object:Gem::Requirement
177
+ none: false
178
+ requirements:
179
+ - - ! '>='
180
+ - !ruby/object:Gem::Version
181
+ version: '0'
182
+ type: :development
183
+ prerelease: false
184
+ version_requirements: !ruby/object:Gem::Requirement
185
+ none: false
186
+ requirements:
187
+ - - ! '>='
188
+ - !ruby/object:Gem::Version
189
+ version: '0'
190
+ - !ruby/object:Gem::Dependency
191
+ name: guard-minitest
192
+ requirement: !ruby/object:Gem::Requirement
193
+ none: false
194
+ requirements:
195
+ - - ! '>='
196
+ - !ruby/object:Gem::Version
197
+ version: '0'
198
+ type: :development
199
+ prerelease: false
200
+ version_requirements: !ruby/object:Gem::Requirement
201
+ none: false
202
+ requirements:
203
+ - - ! '>='
204
+ - !ruby/object:Gem::Version
205
+ version: '0'
206
+ - !ruby/object:Gem::Dependency
207
+ name: rb-fsevent
208
+ requirement: !ruby/object:Gem::Requirement
209
+ none: false
210
+ requirements:
211
+ - - ! '>='
212
+ - !ruby/object:Gem::Version
213
+ version: '0'
214
+ type: :development
215
+ prerelease: false
216
+ version_requirements: !ruby/object:Gem::Requirement
217
+ none: false
218
+ requirements:
219
+ - - ! '>='
220
+ - !ruby/object:Gem::Version
221
+ version: '0'
222
+ - !ruby/object:Gem::Dependency
223
+ name: ruby_gntp
224
+ requirement: !ruby/object:Gem::Requirement
225
+ none: false
226
+ requirements:
227
+ - - ! '>='
228
+ - !ruby/object:Gem::Version
229
+ version: '0'
230
+ type: :development
231
+ prerelease: false
232
+ version_requirements: !ruby/object:Gem::Requirement
233
+ none: false
234
+ requirements:
235
+ - - ! '>='
236
+ - !ruby/object:Gem::Version
237
+ version: '0'
238
+ - !ruby/object:Gem::Dependency
239
+ name: ruby-prof
240
+ requirement: !ruby/object:Gem::Requirement
241
+ none: false
242
+ requirements:
243
+ - - ! '>='
244
+ - !ruby/object:Gem::Version
245
+ version: '0'
246
+ type: :development
247
+ prerelease: false
248
+ version_requirements: !ruby/object:Gem::Requirement
249
+ none: false
250
+ requirements:
251
+ - - ! '>='
252
+ - !ruby/object:Gem::Version
253
+ version: '0'
254
+ - !ruby/object:Gem::Dependency
255
+ name: debugger
256
+ requirement: !ruby/object:Gem::Requirement
257
+ none: false
258
+ requirements:
259
+ - - ! '>='
260
+ - !ruby/object:Gem::Version
261
+ version: '0'
262
+ type: :development
263
+ prerelease: false
264
+ version_requirements: !ruby/object:Gem::Requirement
265
+ none: false
266
+ requirements:
267
+ - - ! '>='
268
+ - !ruby/object:Gem::Version
269
+ version: '0'
270
+ description: Adds the ability to Enumerable to generate tables into different formats
271
+ email:
24
272
  - chabotm@gmail.com
25
273
  executables: []
26
-
27
274
  extensions: []
28
-
29
275
  extra_rdoc_files: []
30
-
31
- files:
276
+ files:
32
277
  - .gitignore
33
278
  - Gemfile
279
+ - Gemfile.lock
280
+ - Guardfile
281
+ - LICENSE.txt
34
282
  - README.md
35
283
  - Rakefile
36
284
  - lib/tableizer.rb
285
+ - lib/tableizer/data_table.rb
37
286
  - lib/tableizer/version.rb
38
287
  - tableizer.gemspec
39
- has_rdoc: true
40
- homepage: https://github.com/martinos/tableizer
288
+ - test/.DS_Store
289
+ - test/tableizer/data_table_test.rb
290
+ - test/tableizer_test.rb
291
+ - test/test_helper.rb
292
+ homepage: ''
41
293
  licenses: []
42
-
43
294
  post_install_message:
44
295
  rdoc_options: []
45
-
46
- require_paths:
296
+ require_paths:
47
297
  - lib
48
- required_ruby_version: !ruby/object:Gem::Requirement
298
+ required_ruby_version: !ruby/object:Gem::Requirement
49
299
  none: false
50
- requirements:
51
- - - ">="
52
- - !ruby/object:Gem::Version
53
- hash: 3
54
- segments:
300
+ requirements:
301
+ - - ! '>='
302
+ - !ruby/object:Gem::Version
303
+ version: '0'
304
+ segments:
55
305
  - 0
56
- version: "0"
57
- required_rubygems_version: !ruby/object:Gem::Requirement
306
+ hash: 1797285074806435226
307
+ required_rubygems_version: !ruby/object:Gem::Requirement
58
308
  none: false
59
- requirements:
60
- - - ">="
61
- - !ruby/object:Gem::Version
62
- hash: 3
63
- segments:
309
+ requirements:
310
+ - - ! '>='
311
+ - !ruby/object:Gem::Version
312
+ version: '0'
313
+ segments:
64
314
  - 0
65
- version: "0"
315
+ hash: 1797285074806435226
66
316
  requirements: []
67
-
68
- rubyforge_project: tableizer
69
- rubygems_version: 1.5.0
317
+ rubyforge_project:
318
+ rubygems_version: 1.8.24
70
319
  signing_key:
71
320
  specification_version: 3
72
- summary: Converts Ruby objects into tables
73
- test_files: []
74
-
321
+ summary: Adds the ability to Enumerable to generate tables into different formats
322
+ test_files:
323
+ - test/.DS_Store
324
+ - test/tableizer/data_table_test.rb
325
+ - test/tableizer_test.rb
326
+ - test/test_helper.rb
327
+ has_rdoc: