rails-exporter 0.0.9 → 0.0.10

Sign up to get free protection for your applications and to get access to all the features.
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