Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
99 changes: 2 additions & 97 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
name: Test
on:
push:
branches: ['*']
branches: ["*"]
pull_request:
branches: ['*']
branches: ["*"]

jobs:
test_ruby_and_rails_versions:
Expand All @@ -13,121 +13,26 @@ jobs:
fail-fast: false
matrix:
rails:
- "4.2"
- "5.0"
- "5.1"
- "5.2"
- "6.0"
- "6.1"
- "7.0"
- "7.1"
- "7.2"

ruby:
- "2.4"
- "2.5"
- "2.6"
- "2.7"
- "3.0"
- "3.1"
- "3.2"
- "3.3"

include:
- rails: "4.2"
bundler: "1.17.3"

exclude:
- rails: "4.2"
ruby: "2.7"

- rails: "4.2"
ruby: "3.0"

- rails: "4.2"
ruby: "3.1"

- rails: "4.2"
ruby: "3.2"

- rails: "4.2"
ruby: "3.3"

- rails: "5.0"
ruby: "3.0"

- rails: "5.0"
ruby: "3.1"

- rails: "5.0"
ruby: "3.2"

- rails: "5.0"
ruby: "3.3"

- rails: "5.1"
ruby: "3.0"

- rails: "5.1"
ruby: "3.1"

- rails: "5.1"
ruby: "3.2"

- rails: "5.1"
ruby: "3.3"

- rails: "5.2"
ruby: "3.0"

- rails: "5.2"
ruby: "3.1"

- rails: "5.2"
ruby: "3.2"

- rails: "5.2"
ruby: "3.3"

- rails: "6.0"
ruby: "2.4"

- rails: "6.0"
ruby: "3.1"

- rails: "6.0"
ruby: "3.2"

- rails: "6.0"
ruby: "3.3"

- rails: "6.1"
ruby: "2.4"

- rails: "7.0"
ruby: "2.4"

- rails: "7.0"
ruby: "2.5"

- rails: "7.0"
ruby: "2.6"

- rails: "7.1"
ruby: "2.4"

- rails: "7.1"
ruby: "2.5"

- rails: "7.1"
ruby: "2.6"

- rails: "7.2"
ruby: "2.4"

- rails: "7.2"
ruby: "2.5"

- rails: "7.2"
ruby: "2.6"

Expand Down
6 changes: 5 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
# Change log

**Unreleased**

- Drop support for Ruby < 2.6 and Rails < 6.1
- Require at least caxlsx 4.0

**June 18, 2024**: 0.6.4 release

- Convert to Github actions
Expand Down Expand Up @@ -104,4 +109,3 @@

- Initial posting.
- It works, but there are no tests! Bad programmer!

140 changes: 3 additions & 137 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,10 +33,9 @@ See [previous installations](#previous-installations) if needed.

## Requirements

* Tested on Rails 4.2, 5.x, 6.x, and 7.x.
* For Rails 3.1 or 3.2 use version 3.0
* **As of 0.5.0 requires Axlsx 2.0.1, but strongly suggests 2.1.0.pre, which requires rubyzip 1.1.0**
* As of Rails 4.1 you must use `render_to_string` to render a mail attachment.
* Tested on Rails 6.1, and 7.x.
* Supported Ruby versions: 2.6, 2.7, 3.x
* Minimum Caxlsx version: 4.0

## FYI

Expand Down Expand Up @@ -443,32 +442,6 @@ form_with method: :post, url: my_named_route_path(format: :xlsx) do |f|

If you are having problems, try to isolate the issue. Use the console or a script to make sure your data is good. Then create the spreadsheet line by line without Axlsx-Rails to see if you are having caxlsx problems. If you can manually create the spreadsheet, create an issue and we will work it out.

## Previous Installations

In your Gemfile:

```ruby
gem 'rubyzip', '>= 1.2.1'
gem 'axlsx', git: 'https://github.com/randym/axlsx.git', ref: 'c8ac844'
gem 'axlsx_rails'
```

If `rubyzip 1.0.0` is needed:

```ruby
gem 'rubyzip', '= 1.0.0'
gem 'axlsx', '= 2.0.1'
gem 'axlsx_rails'
```

If `rubyzip >= 1.1.0` is needed:

```ruby
gem 'rubyzip', '~> 1.1.0'
gem 'axlsx', '2.1.0.pre'
gem 'axlsx_rails'
```

## Dependencies

- [Rails](https://github.com/rails/rails)
Expand All @@ -493,110 +466,3 @@ Many thanks to [contributors](https://github.com/caxlsx/caxlsx_rails/graphs/cont
* [kodram](https://github.com/kodram)
* [JohnSmall](https://github.com/JohnSmall)
* [BenoitHiller](https://github.com/BenoitHiller)

## Change log

**June 18, 2024**: 0.6.4 release

- Convert to Github actions
- Improve tests
- Fix broken templates with comments as their last line

**March 8, 2022**: 0.6.3 release

- Exclude rspec directory (#149)[https://github.com/caxlsx/caxlsx_rails/pull/149]

**December 18, 2019**: 0.6.2 release

- Release under caxlsx_rails

**December 18, 2019**: 0.6.1 release

- Deprecate axlsx_rails name, release under caxlsx_rails
- Switch to using caxlsx 3.0 gem

**September 5, 2019**: 0.6.0 release

- Improved Rails 6.0 compatibility re MIME type

**May 1st, 2018**: 0.5.2 release

- Improved Rails 5 compatibility re MIME type

**March 29th, 2017**: 0.5.1 release

- Fix stack trace line numbers
- Thanks to [BenoitHiller](https://github.com/BenoitHiller)

**July 26st, 2016**: 0.5.0 release

- Support for Rails 5
- **Tested on on Rails 4.0, 4.1, 4.2, and 5.0**
- Bug fixes for unreadable files and UTF-8 errors

**July 13th, 2015**: 0.4.0 release

- Support for Rails 4.2
- **Removal of forced default_formats** (url format must match)
- **Tested only on Rails 4.1 and 4.2**
- **For Rails 3.2 or below, use 0.3.0**

**November 20th, 2014**: 0.3.0 release

- Support for Rails 4.2.beta4.
- **Removal of shorthand template syntax** (`render xlsx: 'another/directory'`)

**September 4, 2014**: 0.2.1 release

- Rails 4.2.beta1 no longer includes responder. This release checks for the existence of responder before configuring a default responder.
- Rails 4.2 testing, though not yet on Travis CI
- Author, created_at, and use_shared_strings parameters for Axlsx::Package.new

**April 9, 2014**: 0.2.0 release

- Require Axlsx 2.0.1, which requires rubyzip 1.0.0
- Better render handling and testing, which might break former usage
- Rails 4.1 testing
- Mailer example update (**use render_to_string not render**)

**October 11, 2013**

- Handle (and test) respond_to override

**October 4, 2013**

- Added coveralls
- Raised testing to axlsx 2.0.1, roo 1.12.2, and rubyzip 1.0.0

**July 25, 2013**

- Documentation improved
- Testing for generating partial in mailer

**January 18, 2013**: 0.1.4 release

- Now supports Rails 4 (thanks [Envek](https://github.com/Envek))
- If you call render :xlsx on a request without :xlsx format, it should force the :xlsx format. Works on Rails 3.2+.

**December 6, 2012**: 0.1.3 release

- Fix for absolute template paths

**July 25, 2012**: 0.1.2 release

- Partials tested

**July 19, 2012**: 0.1.1 release

- Travis-ci added (thanks [randym](https://github.com/randym))
- render statements and filename tests fixes (thanks [engwan](https://github.com/engwan))

**July 17, 2012**: 0.1.0 release

- Tests completed
- Acts_as_xlsx tested, example in docs

**July 12, 2012**: 0.0.1 release

- Initial posting.
- It works, but there are no tests! Bad programmer!
12 changes: 4 additions & 8 deletions caxlsx_rails.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -19,19 +19,15 @@ Gem::Specification.new do |s|

s.files = Dir['lib/**/*', 'CHANGELOG.md', 'README.md', 'MIT-LICENSE', 'caxlsx_rails.gemspec']

s.add_dependency 'actionpack', '>= 3.1'
s.add_dependency 'caxlsx', '>= 3.0'
s.add_dependency 'actionpack', '>= 6.1'
s.add_dependency 'caxlsx', '>= 4.0'

s.add_development_dependency 'bundler'
s.add_development_dependency 'rake'
s.add_development_dependency 'rspec-rails'
s.add_development_dependency 'guard-rspec'
s.add_development_dependency 'capybara'
s.add_development_dependency 'roo'
s.add_development_dependency 'rubyzip'
s.add_development_dependency 'growl'
s.add_development_dependency 'rb-fsevent'
s.add_development_dependency 'coveralls'
s.add_development_dependency 'pry'
s.add_development_dependency 'pry-nav'

s.required_ruby_version = '>= 2.6'
end
2 changes: 1 addition & 1 deletion lib/axlsx_rails.rb
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@

warn "DEPRECATION WARNING: axlsx_rails has been renamed to caxlsx_rails. See http://github.com/caxlsx"

require 'axlsx_rails/railtie' if defined?(Rails)
require 'caxlsx_rails'
20 changes: 5 additions & 15 deletions lib/axlsx_rails/action_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,8 @@

require 'action_controller'

if Rails.version.to_f >= 5
unless Mime[:xlsx]
Mime::Type.register 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', :xlsx
end
else
unless defined? Mime::XLSX
Mime::Type.register 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', :xlsx
end
unless Mime[:xlsx]
Mime::Type.register 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', :xlsx
end

ActionController::Renderers.add :xlsx do |filename, options|
Expand All @@ -19,7 +13,7 @@
# def called_action
# render xlsx: 'filename', template: 'controller/diff_action'
# end
#
#
# And the normal use case works:
#
# def called_action
Expand All @@ -46,15 +40,11 @@
options[:locals][:xlsx_use_shared_strings] = options.delete(:xlsx_use_shared_strings)
end

mime = Rails.version.to_f >= 5 ? Mime[:xlsx] : Mime::XLSX
send_data render_to_string(options), filename: file_name, type: mime, disposition: disposition
send_data render_to_string(options), filename: file_name, type: Mime[:xlsx], disposition: disposition
end

# For respond_to default
begin
ActionController::Responder
rescue
else
if defined?(ActionController::Responder)
class ActionController::Responder
def to_xlsx
@_action_has_layout = false
Expand Down
Loading