rails-exporter 0.0.9 → 0.0.10

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 81bb6b6cc49c8bdb659aa048e5fbdbfcb226f0d0
4
- data.tar.gz: bdd1d68b1922c5656ee4b5a49a7164654be1728c
3
+ metadata.gz: d0f950a9074e7a06cd6e77a646d341e97bf06ee1
4
+ data.tar.gz: 33c196aff9aded0e6812896056be1fb03eafa4b2
5
5
  SHA512:
6
- metadata.gz: 96b68fad1cdee09a587e91da4c92b9209b087adb3cae473b8b68027fa3cad3d0db61588ba7184122356fd0549f494e34ebbd43a64d31067d5db573225718946b
7
- data.tar.gz: 570d1740faea715a4074654c6418641a7c92930c11ac6a00d386c9f99883677cb1d222306dc399f270eec6b24b03b534675d7f175c0bef5d60aa0a66c6ff55c5
6
+ metadata.gz: 43eada81f947314141d5c7b64d3758e1678a06a1cbe21ee4469ffad363583f152cb71190f4ef4684448c828acbb5e994bbe1b3cdbd8e49e9970edfc91444c47a
7
+ data.tar.gz: 97786c7f1b0a9950a2247154a462eb64b4652c05e6839d4fef4496544c1dd25d1403ae8e907f4648fdf49b82207833d8093deba7a9d0a3d860edc9f4414ea5aa
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Rails Exporter
2
2
 
3
- Rails Exporter (XML, XLS, CSV)
3
+ Rails Exporter (CSV, XML, XLS, XSLX)
4
4
 
5
5
  ## How to install
6
6
 
@@ -71,6 +71,7 @@ class UsersController < ApplicationController
71
71
  format.csv { send_data @users.export_to(:csv) }
72
72
  format.xml { send_data @users.export_to(:xml) }
73
73
  format.xls { send_data @users.export_to(:xls) }
74
+ format.xlsx { send_data @users.export_to(:xlsx) }
74
75
  end
75
76
  end
76
77
  end
@@ -78,5 +79,6 @@ end
78
79
 
79
80
  Declare XLS as a new mimetype in `config/initializers/mime_types`:
80
81
  ```erb
81
- Mime::Type.register "application/xls", :xls
82
+ Mime::Type.register "application/vnd.ms-excel", :xls
83
+ Mime::Type.register "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", :xlsx
82
84
  ```
@@ -8,7 +8,7 @@ module RailsExporter
8
8
 
9
9
  class << self
10
10
  def file_types
11
- [:csv, :xls, :xml]
11
+ [:csv, :xls, :xlsx, :xml]
12
12
  end
13
13
 
14
14
  # def method_missing(m, *args, &block)
@@ -1,5 +1,6 @@
1
1
  require 'builder'
2
2
  require 'spreadsheet'
3
+ require 'rubyXL'
3
4
 
4
5
  module RailsExporter
5
6
  module Exporter
@@ -68,6 +69,27 @@ module RailsExporter
68
69
  file_contents.string.force_encoding('binary')
69
70
  end
70
71
 
72
+ def export_to_xlsx(records, context=:default)
73
+ #NEW document/spreadsheet
74
+ workbook = RubyXL::Workbook.new
75
+ worksheet = workbook[0]
76
+ # worksheet = workbook.add_worksheet(I18n.t(:spreadsheet_name, default: ['Spreadsheet'], scope: [:exporters]))
77
+ worksheet.sheet_name = I18n.t(:spreadsheet_name, default: ['Spreadsheet'], scope: [:exporters])
78
+ #HEADER FORMAT
79
+ worksheet.change_row_bold(0, true)
80
+ #HEADER (ROW=0)
81
+ get_columns(context).each_with_index do |attr, i|
82
+ worksheet.add_cell(0, i, attr_name(attr))
83
+ end
84
+ #ROWS
85
+ records.each_with_index do |record, row_index|
86
+ values = get_values(record, context)
87
+ values.each_with_index{|value, col_index| worksheet.add_cell(row_index+1, col_index, value) }
88
+ end
89
+ #RETURN STRING
90
+ workbook.stream.string.force_encoding('binary')
91
+ end
92
+
71
93
  private
72
94
  def get_columns(context)
73
95
  self.send(:columns, context) || []
@@ -1,3 +1,3 @@
1
1
  module RailsExporter
2
- VERSION = "0.0.9"
2
+ VERSION = "0.0.10"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails-exporter
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.9
4
+ version: 0.0.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bruno Porto
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-02-16 00:00:00.000000000 Z
11
+ date: 2017-02-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -30,6 +30,20 @@ dependencies:
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
32
  version: '6'
33
+ - !ruby/object:Gem::Dependency
34
+ name: rubyXL
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: '3.3'
40
+ type: :runtime
41
+ prerelease: false
42
+ version_requirements: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - "~>"
45
+ - !ruby/object:Gem::Version
46
+ version: '3.3'
33
47
  - !ruby/object:Gem::Dependency
34
48
  name: spreadsheet
35
49
  requirement: !ruby/object:Gem::Requirement
@@ -37,9 +51,6 @@ dependencies:
37
51
  - - "~>"
38
52
  - !ruby/object:Gem::Version
39
53
  version: '1.1'
40
- - - ">="
41
- - !ruby/object:Gem::Version
42
- version: 1.1.4
43
54
  type: :runtime
44
55
  prerelease: false
45
56
  version_requirements: !ruby/object:Gem::Requirement
@@ -47,29 +58,20 @@ dependencies:
47
58
  - - "~>"
48
59
  - !ruby/object:Gem::Version
49
60
  version: '1.1'
50
- - - ">="
51
- - !ruby/object:Gem::Version
52
- version: 1.1.4
53
61
  - !ruby/object:Gem::Dependency
54
62
  name: builder
55
63
  requirement: !ruby/object:Gem::Requirement
56
64
  requirements:
57
65
  - - "~>"
58
66
  - !ruby/object:Gem::Version
59
- version: '3.2'
60
- - - ">="
61
- - !ruby/object:Gem::Version
62
- version: 3.2.3
67
+ version: '3.0'
63
68
  type: :runtime
64
69
  prerelease: false
65
70
  version_requirements: !ruby/object:Gem::Requirement
66
71
  requirements:
67
72
  - - "~>"
68
73
  - !ruby/object:Gem::Version
69
- version: '3.2'
70
- - - ">="
71
- - !ruby/object:Gem::Version
72
- version: 3.2.3
74
+ version: '3.0'
73
75
  description: Rails Exporter (CSV, XML, XLS)
74
76
  email:
75
77
  - brunotporto@gmail.com
@@ -113,7 +115,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
113
115
  version: '0'
114
116
  requirements: []
115
117
  rubyforge_project:
116
- rubygems_version: 2.6.8
118
+ rubygems_version: 2.5.1
117
119
  signing_key:
118
120
  specification_version: 4
119
121
  summary: Rails Exporter