xlsxtream_rails 0.1.0 → 0.4.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f95f772a88e172129234f4283c232efc799fe20b752675e6b44d8f96d6fbf582
4
- data.tar.gz: 0e910d29f10e28c3ea51c7ec10e32708199118cfc803bafc0b17f28a5e00ee28
3
+ metadata.gz: 5502fc92614bd2379b7af762136ac5d37621264a14a8c95dd0c1675c06f8f8c1
4
+ data.tar.gz: cf4eb50326cf589174c1dc941392a12f054d5142c48d2293b210100f37551403
5
5
  SHA512:
6
- metadata.gz: f2d2e2d691e850a3b6d50637ee3b97f186b66172af768273ff73ab091db36619f2399063e9724fc38668f2c179ca518eab6ada601189465830189c60b969920b
7
- data.tar.gz: dc0a03fe157d825c586f6af81a59083ac33fe0599115ba9baa43b2e8c3678b691b9c26dbd625d6d1cdeeab8739662947abfba48cebf428bc5397b5ea06a86bb9
6
+ metadata.gz: 1171bb419c8a365726ed516eb46f53ef6a658462ad1a810629ecec67fb69c040afcbe0c6d41adf785edf7da33161bb41cfd10008d163d5c79ed5ce783c89a81f
7
+ data.tar.gz: 70566d1a3ff138d3840a343e6e6a6218fd13636764784a87656149856d702f3aa34d48ad5a409221c2ec9da0297adcdc974f09ae5c88abe65601e86269526e58
data/README.md CHANGED
@@ -1,5 +1,5 @@
1
1
  # XlsxtreamRails
2
- Xlsx stream download for rails with template.
2
+ Xlsx stream download for rails.
3
3
 
4
4
  ## Installation
5
5
  Add this line to your application's Gemfile:
@@ -27,7 +27,7 @@ class PostsController < ApplicationController
27
27
  def index
28
28
  @posts = Post.all
29
29
  respond_to do |format|
30
- format.xlsx
30
+ format.xlsx { render xlsx: @posts }
31
31
  end
32
32
  end
33
33
  end
@@ -61,18 +61,6 @@ class Post < ApplicationRecord
61
61
  end
62
62
  ```
63
63
 
64
- ## View
65
-
66
- If you want to render with template, you can create the template with the .xlsx.xrb extension (index.xlsx.xrb for example)
67
-
68
- ```ruby
69
- xlsx.write_worksheet do |sheet|
70
- @posts.find_each do |post|
71
- sheet.add_row [post.id, post.title]
72
- end
73
- end
74
- ```
75
-
76
64
  ## This gem is inspired by the following
77
65
 
78
66
  [spreadsheet_architect](https://github.com/westonganger/spreadsheet_architect)
@@ -9,12 +9,13 @@ ActionController::Renderers.add :xlsx do |data, options|
9
9
  # disposition / filename
10
10
  options[:disposition] = options.delete(:disposition) || "attachment"
11
11
 
12
- if defined?(ActiveRecord) && data.is_a?(ActiveRecord::Relation)
13
- options[:filename] ||= data.klass.name.pluralize
12
+ options[:filename] ||= if defined?(ActiveRecord) && data.is_a?(ActiveRecord::Relation)
13
+ "#{data.klass.model_name.human}_#{Time.now.to_i}"
14
+ else
15
+ Time.now.to_i
14
16
  end
15
17
 
16
18
  options[:filename] = options[:filename] ? options[:filename].strip.sub(/\.xlsx$/i, "") : "data"
17
- options[:filename] += ".xlsx"
18
19
 
19
20
  headers["Content-Type"] = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
20
21
  headers["Content-disposition"] = "attachment; filename=\"#{options[:filename]}.xlsx\""
@@ -1,11 +1,6 @@
1
1
  module XlsxtreamRails
2
2
  class Railtie < ::Rails::Railtie
3
3
  initializer "xlsxtream_rails.initialization" do
4
- ActiveSupport.on_load(:action_view) do
5
- require "xlsxtream_rails/template_handler"
6
- ActionView::Template.register_template_handler :xrb, ActionView::Template::Handlers::XrbBuilder.new
7
- end
8
-
9
4
  ActiveSupport.on_load(:action_controller) do
10
5
  require "xlsxtream_rails/action_controller"
11
6
  end
@@ -1,3 +1,3 @@
1
1
  module XlsxtreamRails
2
- VERSION = "0.1.0"
2
+ VERSION = "0.4.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: xlsxtream_rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - doabit
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-03-22 00:00:00.000000000 Z
11
+ date: 2022-03-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -38,7 +38,7 @@ dependencies:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: 2.4.0
41
- description: Xlsx stream download for rails with template.
41
+ description: Xlsx stream download for rails.
42
42
  email:
43
43
  - doinsist@gmail.com
44
44
  executables: []
@@ -52,7 +52,6 @@ files:
52
52
  - lib/xlsxtream_rails.rb
53
53
  - lib/xlsxtream_rails/action_controller.rb
54
54
  - lib/xlsxtream_rails/railtie.rb
55
- - lib/xlsxtream_rails/template_handler.rb
56
55
  - lib/xlsxtream_rails/utils.rb
57
56
  - lib/xlsxtream_rails/version.rb
58
57
  homepage: https://github.com/ruby-gems/xlsxtream_rails
@@ -80,5 +79,5 @@ requirements: []
80
79
  rubygems_version: 3.2.3
81
80
  signing_key:
82
81
  specification_version: 4
83
- summary: Xlsx stream download for rails with template.
82
+ summary: Xlsx stream download for rails.
84
83
  test_files: []
@@ -1,19 +0,0 @@
1
- require "action_view"
2
- require "stringio"
3
-
4
- module ActionView
5
- module Template::Handlers
6
- class XrbBuilder
7
- def default_format
8
- Mime[:xlsx].symbol
9
- end
10
-
11
- def call(template, source = nil)
12
- builder = StringIO.new
13
- builder << "# encoding: utf-8\n"
14
- builder << (source || template.source)
15
- builder.string
16
- end
17
- end
18
- end
19
- end