to_xls 1.0.0 → 1.5.0
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 +5 -0
- data/Gemfile +1 -15
- data/{LICENSE.txt → MIT-LICENSE.txt} +1 -1
- data/README.rdoc +27 -7
- data/Rakefile +7 -40
- data/lib/to_xls.rb +2 -1
- data/lib/to_xls/enumerable_patch.rb +9 -0
- data/lib/to_xls/version.rb +3 -0
- data/lib/to_xls/{array_writer.rb → writer.rb} +14 -2
- data/spec/{array_spec.rb → enumerable_spec.rb} +4 -3
- data/spec/spec_helper.rb +14 -10
- data/spec/{array_writer_spec.rb → writer_spec.rb} +16 -8
- data/to_xls.gemspec +46 -0
- metadata +69 -115
- data/VERSION +0 -1
- data/lib/to_xls/array_patch.rb +0 -9
data/.gitignore
ADDED
data/Gemfile
CHANGED
@@ -1,16 +1,2 @@
|
|
1
1
|
source "http://rubygems.org"
|
2
|
-
|
3
|
-
# Example:
|
4
|
-
# gem "activesupport", ">= 2.3.5"
|
5
|
-
|
6
|
-
gem "spreadsheet", ">= 0"
|
7
|
-
|
8
|
-
# Add dependencies to develop your gem here.
|
9
|
-
# Include everything needed to run rake, tests, features, etc.
|
10
|
-
group :development do
|
11
|
-
gem "rspec", "~> 2.3.0"
|
12
|
-
gem "bundler", "~> 1.0.0"
|
13
|
-
gem "jeweler", "~> 1.5.2"
|
14
|
-
gem "rcov", ">= 0"
|
15
|
-
gem "factory_girl", ">= 0"
|
16
|
-
end
|
2
|
+
gemspec
|
data/README.rdoc
CHANGED
@@ -11,8 +11,17 @@ This gem transform an Array or Hash into a excel file using the spreadsheet gem.
|
|
11
11
|
@users.to_xls(:headers => false) # don't include headers
|
12
12
|
@users.to_xls(:columns => [:name, :role]) # include only these columns, on this order
|
13
13
|
@users.to_xls(:columns => [:name, {:company => [:name, :address]}]) # able to pick associations/called methods
|
14
|
-
@users.to_xls(:columns => [:name, {:company => [:name, :address]}], :headers => [
|
14
|
+
@users.to_xls(:columns => [:name, {:company => [:name, :address]}], :headers => ['Name', 'Company', 'Address']) # provide better names for the associated columns
|
15
15
|
|
16
|
+
== Format
|
17
|
+
|
18
|
+
This gem includes a simplified way to change the format of the cells. Also this gem provides a simplified way for changing the format of the headers.
|
19
|
+
|
20
|
+
To change the format of the cells and headers the code should be like this:
|
21
|
+
|
22
|
+
User.all.to_xls :cell_format => {:color => :blue}, :header_format => {:weight => :bold, :color => :red}
|
23
|
+
|
24
|
+
To have a full list of the format admited for the cells and headers you may have a look {on the source code of spreadsheet gem}[http://scm.ywesee.com/?p=spreadsheet/.git;a=blob;f=lib/spreadsheet/format.rb;h=ceef6bb6618238d1ff5cc0462826e2c127c272f1;hb=HEAD]. This gem runs under to_xls, so the format supported by this gem are the ones of spreadsheet.
|
16
25
|
|
17
26
|
== Example of use in Rails
|
18
27
|
|
@@ -62,14 +71,14 @@ Then execute
|
|
62
71
|
|
63
72
|
bundle install
|
64
73
|
|
65
|
-
== ToXml::
|
74
|
+
== ToXml::Writer
|
66
75
|
|
67
|
-
You can export to a file or spreadsheet book using the internal ToXml::
|
76
|
+
You can export to a file or spreadsheet book using the internal ToXml::Writer class:
|
68
77
|
|
69
|
-
ToXls::
|
70
|
-
ToXls::
|
78
|
+
ToXls::Writer.new(users, :name => 'Users').write_io(file) # writes to a given file
|
79
|
+
ToXls::Writer.new(users, :name => 'Users').write_book(book) # writes to a spreadsheet book (adds a new sheet)
|
71
80
|
|
72
|
-
The options of
|
81
|
+
The options of Writer.new(array, options) are the same as in to_xls.
|
73
82
|
|
74
83
|
== Contributing to to_xls
|
75
84
|
|
@@ -83,6 +92,17 @@ The options of ArrayWriter.new(array, options) are the same as in to_xls.
|
|
83
92
|
|
84
93
|
== Copyright
|
85
94
|
|
86
|
-
Copyright (c) 2011
|
95
|
+
Copyright (c) 2011 Splendeo Innovación. See MIT-LICENSE.txt for
|
87
96
|
further details.
|
88
97
|
|
98
|
+
== Credits
|
99
|
+
|
100
|
+
* Ian Link & mlecho helped implementing the formats
|
101
|
+
|
102
|
+
== Changelog
|
103
|
+
|
104
|
+
1.5.0
|
105
|
+
|
106
|
+
* to_xls now extends Enumerable instead of Array
|
107
|
+
* Included :cell_format and :header_format options
|
108
|
+
* Used bundler instead of jeweller
|
data/Rakefile
CHANGED
@@ -1,30 +1,12 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
Bundler.setup(:default, :development)
|
5
|
-
rescue Bundler::BundlerError => e
|
6
|
-
$stderr.puts e.message
|
7
|
-
$stderr.puts "Run `bundle install` to install missing gems"
|
8
|
-
exit e.status_code
|
9
|
-
end
|
1
|
+
|
2
|
+
#Bundler::GemHelper.install_tasks
|
3
|
+
|
10
4
|
require 'rake'
|
5
|
+
require "rubygems"
|
6
|
+
require "bundler"
|
7
|
+
require "bundler/gem_tasks"
|
11
8
|
|
12
|
-
|
13
|
-
Jeweler::Tasks.new do |gem|
|
14
|
-
# gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
|
15
|
-
gem.name = "to_xls"
|
16
|
-
gem.homepage = "http://github.com/splendeo/to_xls"
|
17
|
-
gem.license = "MIT"
|
18
|
-
gem.summary = %Q{to_xls for Arrays and Hashes}
|
19
|
-
gem.description = %Q{Adds a to_xls method to arrays, which can be used to generate excel files conveniently. Can rely on ActiveRecord sugar for obtaining attribute names.}
|
20
|
-
gem.email = "egarcia@splendeo.es"
|
21
|
-
gem.authors = ["Enrique Garcia Cota", "Francisco de Juan"]
|
22
|
-
# Include your dependencies below. Runtime dependencies are required when using your gem,
|
23
|
-
# and development dependencies are only needed for development (ie running rake tasks, tests, etc)
|
24
|
-
gem.add_runtime_dependency 'spreadsheet', '> 0'
|
25
|
-
gem.add_development_dependency 'rspec', '> 1.2.3'
|
26
|
-
end
|
27
|
-
Jeweler::RubygemsDotOrgTasks.new
|
9
|
+
Bundler.setup(:default, :test)
|
28
10
|
|
29
11
|
require 'rspec/core'
|
30
12
|
require 'rspec/core/rake_task'
|
@@ -32,19 +14,4 @@ RSpec::Core::RakeTask.new(:spec) do |spec|
|
|
32
14
|
spec.pattern = FileList['spec/**/*_spec.rb']
|
33
15
|
end
|
34
16
|
|
35
|
-
RSpec::Core::RakeTask.new(:rcov) do |spec|
|
36
|
-
spec.pattern = 'spec/**/*_spec.rb'
|
37
|
-
spec.rcov = true
|
38
|
-
end
|
39
|
-
|
40
17
|
task :default => :spec
|
41
|
-
|
42
|
-
require 'rake/rdoctask'
|
43
|
-
Rake::RDocTask.new do |rdoc|
|
44
|
-
version = File.exist?('VERSION') ? File.read('VERSION') : ""
|
45
|
-
|
46
|
-
rdoc.rdoc_dir = 'rdoc'
|
47
|
-
rdoc.title = "to_xls #{version}"
|
48
|
-
rdoc.rdoc_files.include('README*')
|
49
|
-
rdoc.rdoc_files.include('lib/**/*.rb')
|
50
|
-
end
|
data/lib/to_xls.rb
CHANGED
@@ -1 +1,2 @@
|
|
1
|
-
require
|
1
|
+
require "to_xls/version"
|
2
|
+
require "to_xls/enumerable_patch.rb"
|
@@ -4,10 +4,12 @@ require 'spreadsheet'
|
|
4
4
|
|
5
5
|
module ToXls
|
6
6
|
|
7
|
-
class
|
7
|
+
class Writer
|
8
8
|
def initialize(array, options = {})
|
9
9
|
@array = array
|
10
10
|
@options = options
|
11
|
+
@cell_format = create_format :cell_format
|
12
|
+
@header_format = create_format :header_format
|
11
13
|
end
|
12
14
|
|
13
15
|
def write_string(string = '')
|
@@ -34,12 +36,14 @@ module ToXls
|
|
34
36
|
row_index = 0
|
35
37
|
|
36
38
|
if headers_should_be_included?
|
39
|
+
apply_format_to_row(sheet.row(0), @header_format)
|
37
40
|
fill_row(sheet.row(0), headers)
|
38
41
|
row_index = 1
|
39
42
|
end
|
40
43
|
|
41
44
|
@array.each do |model|
|
42
45
|
row = sheet.row(row_index)
|
46
|
+
apply_format_to_row(row, @cell_format)
|
43
47
|
fill_row(row, columns, model)
|
44
48
|
row_index += 1
|
45
49
|
end
|
@@ -54,7 +58,7 @@ module ToXls
|
|
54
58
|
end
|
55
59
|
|
56
60
|
def can_get_columns_from_first_element?
|
57
|
-
@array.first &&
|
61
|
+
@array.first &&
|
58
62
|
@array.first.respond_to?(:attributes) &&
|
59
63
|
@array.first.attributes.respond_to?(:keys) &&
|
60
64
|
@array.first.attributes.keys.is_a?(Array)
|
@@ -77,6 +81,14 @@ module ToXls
|
|
77
81
|
|
78
82
|
private
|
79
83
|
|
84
|
+
def apply_format_to_row(row, format)
|
85
|
+
row.default_format = format if format
|
86
|
+
end
|
87
|
+
|
88
|
+
def create_format(name)
|
89
|
+
Spreadsheet::Format.new @options[name] if @options.has_key? name
|
90
|
+
end
|
91
|
+
|
80
92
|
def fill_row(row, column, model=nil)
|
81
93
|
case column
|
82
94
|
when String, Symbol
|
@@ -1,14 +1,15 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
|
3
3
|
|
4
|
-
describe
|
4
|
+
describe Enumerable do
|
5
5
|
|
6
6
|
describe :to_xls do
|
7
|
-
|
7
|
+
|
8
|
+
it "throws no error without data" do
|
8
9
|
lambda { [].to_xls }.should_not raise_error
|
9
10
|
end
|
10
11
|
|
11
|
-
it "
|
12
|
+
it "returns the correct string representing a spreadsheet" do
|
12
13
|
s = StringIO.new
|
13
14
|
xls = make_book(mock_users)
|
14
15
|
xls.write(s)
|
data/spec/spec_helper.rb
CHANGED
@@ -1,17 +1,8 @@
|
|
1
1
|
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
2
2
|
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
3
3
|
require 'rspec'
|
4
|
-
require 'factory_girl'
|
5
4
|
require 'to_xls'
|
6
5
|
|
7
|
-
# Requires supporting files with custom matchers and macros, etc,
|
8
|
-
# in ./support/ and its subdirectories.
|
9
|
-
Dir["#{File.dirname(__FILE__)}/support/**.rb", ].each {|f| require f}
|
10
|
-
|
11
|
-
RSpec.configure do |config|
|
12
|
-
|
13
|
-
end
|
14
|
-
|
15
6
|
def mock_model(name, attributes)
|
16
7
|
attributes[:attributes] = attributes.clone
|
17
8
|
mock(name, attributes)
|
@@ -45,6 +36,19 @@ end
|
|
45
36
|
|
46
37
|
def make_book(array, options={})
|
47
38
|
book = Spreadsheet::Workbook.new
|
48
|
-
ToXls::
|
39
|
+
ToXls::Writer.new(array, options).write_book(book)
|
49
40
|
book
|
50
41
|
end
|
42
|
+
|
43
|
+
def check_format(sheet, header_format, cell_format)
|
44
|
+
sheet.rows.each_with_index do |row, i|
|
45
|
+
hash = i == 0 ? header_format : cell_format
|
46
|
+
compare_hash_format(hash, row.default_format)
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
def compare_hash_format(hash, format)
|
51
|
+
hash.each do |key, value|
|
52
|
+
format.font.send(key).should == value
|
53
|
+
end
|
54
|
+
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
|
2
2
|
|
3
|
-
describe ToXls::
|
3
|
+
describe ToXls::Writer do
|
4
4
|
|
5
5
|
it "throws no error without data" do
|
6
6
|
lambda { [].to_xls }.should_not raise_error
|
@@ -109,7 +109,7 @@ describe ToXls::ArrayWriter do
|
|
109
109
|
describe "#write_book" do
|
110
110
|
it "writes a new sheet in a book" do
|
111
111
|
book = Spreadsheet::Workbook.new
|
112
|
-
ToXls::
|
112
|
+
ToXls::Writer.new(mock_users).write_book(book)
|
113
113
|
check_sheet( book.worksheets.first,
|
114
114
|
[ [:age, :email, :name],
|
115
115
|
[ 20, 'peter@gmail.com', 'Peter'],
|
@@ -124,7 +124,7 @@ describe ToXls::ArrayWriter do
|
|
124
124
|
it "writes a new sheet in a book" do
|
125
125
|
book = Spreadsheet::Workbook.new
|
126
126
|
sheet = book.create_worksheet
|
127
|
-
ToXls::
|
127
|
+
ToXls::Writer.new(mock_users).write_sheet(sheet)
|
128
128
|
check_sheet( sheet,
|
129
129
|
[ [:age, :email, :name],
|
130
130
|
[ 20, 'peter@gmail.com', 'Peter'],
|
@@ -138,7 +138,7 @@ describe ToXls::ArrayWriter do
|
|
138
138
|
describe "#write_io" do
|
139
139
|
it "writes a new book in a stream" do
|
140
140
|
io1 = StringIO.new
|
141
|
-
ToXls::
|
141
|
+
ToXls::Writer.new(mock_users).write_io(io1)
|
142
142
|
io2 = StringIO.new
|
143
143
|
xls = make_book(mock_users, {})
|
144
144
|
xls.write(io2)
|
@@ -149,7 +149,7 @@ describe ToXls::ArrayWriter do
|
|
149
149
|
|
150
150
|
describe "#write_string" do
|
151
151
|
it "writes a new sheet in a string" do
|
152
|
-
str = ToXls::
|
152
|
+
str = ToXls::Writer.new(mock_users).write_string()
|
153
153
|
io = StringIO.new
|
154
154
|
xls = make_book(mock_users, {})
|
155
155
|
xls.write(io)
|
@@ -158,7 +158,15 @@ describe ToXls::ArrayWriter do
|
|
158
158
|
end
|
159
159
|
end
|
160
160
|
|
161
|
-
|
162
|
-
|
163
|
-
|
161
|
+
describe "formats" do
|
162
|
+
it "accepts the format options" do
|
163
|
+
cell_format = {:color => :blue}
|
164
|
+
header_format = {:weight => :bold, :color => :red}
|
165
|
+
xls = make_book( mock_users,
|
166
|
+
:cell_format => cell_format,
|
167
|
+
:header_format => header_format
|
168
|
+
)
|
169
|
+
check_format( xls.worksheets.first, header_format, cell_format)
|
170
|
+
end
|
171
|
+
end
|
164
172
|
end
|
data/to_xls.gemspec
ADDED
@@ -0,0 +1,46 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
$:.push File.expand_path("../lib", __FILE__)
|
3
|
+
require "to_xls/version"
|
4
|
+
|
5
|
+
Gem::Specification.new do |s|
|
6
|
+
s.name = "to_xls"
|
7
|
+
s.version = ToXls::VERSION
|
8
|
+
s.authors = ["Enrique Garcia Cota", "Francisco de Juan", "Sergio Díaz Álvarez"]
|
9
|
+
s.email = %q{egarcia@splendeo.es}
|
10
|
+
s.homepage = "https://github.com/splendeo/to_xls"
|
11
|
+
s.summary = %q{to_xls for Enumerations}
|
12
|
+
s.description = %q{Adds a to_xls method to all enumerations, which can be used to generate excel files conveniently. Can rely on ActiveRecord sugar for obtaining attribute names.}
|
13
|
+
|
14
|
+
s.rubyforge_project = "to_xls"
|
15
|
+
|
16
|
+
s.files = `git ls-files`.split("\n")
|
17
|
+
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
18
|
+
|
19
|
+
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
20
|
+
s.require_paths = ["lib"]
|
21
|
+
|
22
|
+
# specify any dependencies here; for example:
|
23
|
+
# s.add_development_dependency "rspec"
|
24
|
+
# s.add_runtime_dependency "rest-client"
|
25
|
+
|
26
|
+
if s.respond_to? :specification_version then
|
27
|
+
s.specification_version = 3
|
28
|
+
|
29
|
+
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
30
|
+
s.add_runtime_dependency(%q<spreadsheet>, [">= 0"])
|
31
|
+
s.add_development_dependency(%q<rspec>, ["~> 2.3.0"])
|
32
|
+
s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
|
33
|
+
s.add_development_dependency(%q<rake>, ["~> 0.9.2"])
|
34
|
+
else
|
35
|
+
s.add_dependency(%q<spreadsheet>, [">= 0"])
|
36
|
+
s.add_dependency(%q<rspec>, ["~> 2.3.0"])
|
37
|
+
s.add_dependency(%q<bundler>, ["~> 1.0.0"])
|
38
|
+
s.add_development_dependency(%q<rake>, ["~> 0.9.2"])
|
39
|
+
end
|
40
|
+
else
|
41
|
+
s.add_dependency(%q<spreadsheet>, [">= 0"])
|
42
|
+
s.add_dependency(%q<rspec>, ["~> 2.3.0"])
|
43
|
+
s.add_dependency(%q<bundler>, ["~> 1.0.0"])
|
44
|
+
s.add_development_dependency(%q<rake>, ["~> 0.9.2"])
|
45
|
+
end
|
46
|
+
end
|
metadata
CHANGED
@@ -1,160 +1,114 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: to_xls
|
3
|
-
version: !ruby/object:Gem::Version
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.5.0
|
4
5
|
prerelease:
|
5
|
-
version: 1.0.0
|
6
6
|
platform: ruby
|
7
|
-
authors:
|
7
|
+
authors:
|
8
8
|
- Enrique Garcia Cota
|
9
9
|
- Francisco de Juan
|
10
|
+
- Sergio Díaz Álvarez
|
10
11
|
autorequire:
|
11
12
|
bindir: bin
|
12
13
|
cert_chain: []
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
dependencies:
|
17
|
-
- !ruby/object:Gem::Dependency
|
14
|
+
date: 2012-01-11 00:00:00.000000000Z
|
15
|
+
dependencies:
|
16
|
+
- !ruby/object:Gem::Dependency
|
18
17
|
name: spreadsheet
|
19
|
-
|
20
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
18
|
+
requirement: &19965000 !ruby/object:Gem::Requirement
|
21
19
|
none: false
|
22
|
-
requirements:
|
23
|
-
- -
|
24
|
-
- !ruby/object:Gem::Version
|
25
|
-
version:
|
20
|
+
requirements:
|
21
|
+
- - ! '>='
|
22
|
+
- !ruby/object:Gem::Version
|
23
|
+
version: '0'
|
26
24
|
type: :runtime
|
27
|
-
version_requirements: *id001
|
28
|
-
- !ruby/object:Gem::Dependency
|
29
|
-
name: rspec
|
30
25
|
prerelease: false
|
31
|
-
|
26
|
+
version_requirements: *19965000
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rspec
|
29
|
+
requirement: &19934800 !ruby/object:Gem::Requirement
|
32
30
|
none: false
|
33
|
-
requirements:
|
31
|
+
requirements:
|
34
32
|
- - ~>
|
35
|
-
- !ruby/object:Gem::Version
|
33
|
+
- !ruby/object:Gem::Version
|
36
34
|
version: 2.3.0
|
37
35
|
type: :development
|
38
|
-
version_requirements: *id002
|
39
|
-
- !ruby/object:Gem::Dependency
|
40
|
-
name: bundler
|
41
36
|
prerelease: false
|
42
|
-
|
37
|
+
version_requirements: *19934800
|
38
|
+
- !ruby/object:Gem::Dependency
|
39
|
+
name: bundler
|
40
|
+
requirement: &19932020 !ruby/object:Gem::Requirement
|
43
41
|
none: false
|
44
|
-
requirements:
|
42
|
+
requirements:
|
45
43
|
- - ~>
|
46
|
-
- !ruby/object:Gem::Version
|
44
|
+
- !ruby/object:Gem::Version
|
47
45
|
version: 1.0.0
|
48
46
|
type: :development
|
49
|
-
version_requirements: *id003
|
50
|
-
- !ruby/object:Gem::Dependency
|
51
|
-
name: jeweler
|
52
47
|
prerelease: false
|
53
|
-
|
48
|
+
version_requirements: *19932020
|
49
|
+
- !ruby/object:Gem::Dependency
|
50
|
+
name: rake
|
51
|
+
requirement: &19892300 !ruby/object:Gem::Requirement
|
54
52
|
none: false
|
55
|
-
requirements:
|
53
|
+
requirements:
|
56
54
|
- - ~>
|
57
|
-
- !ruby/object:Gem::Version
|
58
|
-
version:
|
59
|
-
type: :development
|
60
|
-
version_requirements: *id004
|
61
|
-
- !ruby/object:Gem::Dependency
|
62
|
-
name: rcov
|
63
|
-
prerelease: false
|
64
|
-
requirement: &id005 !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
|
-
requirements:
|
67
|
-
- - ">="
|
68
|
-
- !ruby/object:Gem::Version
|
69
|
-
version: "0"
|
70
|
-
type: :development
|
71
|
-
version_requirements: *id005
|
72
|
-
- !ruby/object:Gem::Dependency
|
73
|
-
name: factory_girl
|
74
|
-
prerelease: false
|
75
|
-
requirement: &id006 !ruby/object:Gem::Requirement
|
76
|
-
none: false
|
77
|
-
requirements:
|
78
|
-
- - ">="
|
79
|
-
- !ruby/object:Gem::Version
|
80
|
-
version: "0"
|
55
|
+
- !ruby/object:Gem::Version
|
56
|
+
version: 0.9.2
|
81
57
|
type: :development
|
82
|
-
version_requirements: *id006
|
83
|
-
- !ruby/object:Gem::Dependency
|
84
|
-
name: spreadsheet
|
85
|
-
prerelease: false
|
86
|
-
requirement: &id007 !ruby/object:Gem::Requirement
|
87
|
-
none: false
|
88
|
-
requirements:
|
89
|
-
- - ">"
|
90
|
-
- !ruby/object:Gem::Version
|
91
|
-
version: "0"
|
92
|
-
type: :runtime
|
93
|
-
version_requirements: *id007
|
94
|
-
- !ruby/object:Gem::Dependency
|
95
|
-
name: rspec
|
96
58
|
prerelease: false
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
- !ruby/object:Gem::Version
|
102
|
-
version: 1.2.3
|
103
|
-
type: :development
|
104
|
-
version_requirements: *id008
|
105
|
-
description: Adds a to_xls method to arrays, which can be used to generate excel files conveniently. Can rely on ActiveRecord sugar for obtaining attribute names.
|
59
|
+
version_requirements: *19892300
|
60
|
+
description: Adds a to_xls method to all enumerations, which can be used to generate
|
61
|
+
excel files conveniently. Can rely on ActiveRecord sugar for obtaining attribute
|
62
|
+
names.
|
106
63
|
email: egarcia@splendeo.es
|
107
64
|
executables: []
|
108
|
-
|
109
65
|
extensions: []
|
110
|
-
|
111
|
-
|
112
|
-
- LICENSE.txt
|
113
|
-
- README.rdoc
|
114
|
-
files:
|
66
|
+
extra_rdoc_files: []
|
67
|
+
files:
|
115
68
|
- .document
|
69
|
+
- .gitignore
|
116
70
|
- .rspec
|
117
71
|
- Gemfile
|
118
|
-
- LICENSE.txt
|
72
|
+
- MIT-LICENSE.txt
|
119
73
|
- README.rdoc
|
120
74
|
- Rakefile
|
121
|
-
- VERSION
|
122
75
|
- init.rb
|
123
76
|
- lib/to_xls.rb
|
124
|
-
- lib/to_xls/
|
125
|
-
- lib/to_xls/
|
126
|
-
-
|
127
|
-
- spec/
|
77
|
+
- lib/to_xls/enumerable_patch.rb
|
78
|
+
- lib/to_xls/version.rb
|
79
|
+
- lib/to_xls/writer.rb
|
80
|
+
- spec/enumerable_spec.rb
|
128
81
|
- spec/spec_helper.rb
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
82
|
+
- spec/writer_spec.rb
|
83
|
+
- to_xls.gemspec
|
84
|
+
homepage: https://github.com/splendeo/to_xls
|
85
|
+
licenses: []
|
133
86
|
post_install_message:
|
134
87
|
rdoc_options: []
|
135
|
-
|
136
|
-
require_paths:
|
88
|
+
require_paths:
|
137
89
|
- lib
|
138
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
90
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
139
91
|
none: false
|
140
|
-
requirements:
|
141
|
-
- -
|
142
|
-
- !ruby/object:Gem::Version
|
143
|
-
version:
|
144
|
-
|
92
|
+
requirements:
|
93
|
+
- - ! '>='
|
94
|
+
- !ruby/object:Gem::Version
|
95
|
+
version: '0'
|
96
|
+
segments:
|
97
|
+
- 0
|
98
|
+
hash: -4596769968473579780
|
99
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
145
100
|
none: false
|
146
|
-
requirements:
|
147
|
-
- -
|
148
|
-
- !ruby/object:Gem::Version
|
149
|
-
version:
|
101
|
+
requirements:
|
102
|
+
- - ! '>='
|
103
|
+
- !ruby/object:Gem::Version
|
104
|
+
version: '0'
|
105
|
+
segments:
|
106
|
+
- 0
|
107
|
+
hash: -4596769968473579780
|
150
108
|
requirements: []
|
151
|
-
|
152
|
-
|
153
|
-
rubygems_version: 1.6.2
|
109
|
+
rubyforge_project: to_xls
|
110
|
+
rubygems_version: 1.8.6
|
154
111
|
signing_key:
|
155
112
|
specification_version: 3
|
156
|
-
summary: to_xls for
|
157
|
-
test_files:
|
158
|
-
- spec/array_spec.rb
|
159
|
-
- spec/array_writer_spec.rb
|
160
|
-
- spec/spec_helper.rb
|
113
|
+
summary: to_xls for Enumerations
|
114
|
+
test_files: []
|
data/VERSION
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
1.0.0
|