Skip to content
Draft
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
112 changes: 13 additions & 99 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,130 +13,44 @@ jobs:
fail-fast: false
matrix:
rails:
- "4.2"
- "5.0"
- "5.1"
- "5.2"
- "6.0"
- "6.1"
- "7.0"
- "7.1"
- "7.2"
- "8.0"

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"
- "3.4"

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"

- rails: "7.2"
ruby: "2.7"

- rails: "7.2"
ruby: "3.0"

- rails: "8.0"
ruby: "2.6"
- rails: "8.0"
ruby: "2.7"
- rails: "8.0"
ruby: "3.0"
- rails: "8.0"
ruby: "3.1"

env:
BUNDLE_GEMFILE: ${{ github.workspace }}/spec/gemfiles/Gemfile.rails-${{ matrix.rails }}

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

**Unreleased**

- Drop support for Ruby < 2.6 and Rails < 6.1
- Require at least caxlsx 4.0
- Add Rails 8.0 and Ruby 3.4 to the CI matrix

**June 18, 2024**: 0.6.4 release

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

- 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
11 changes: 2 additions & 9 deletions lib/axlsx_rails/template_handler.rb
Original file line number Diff line number Diff line change
Expand Up @@ -5,19 +5,12 @@
module AxlsxRails
class TemplateHandler
def default_format
case
when Rails.version.to_f >= 6
Mime[:xlsx].symbol
when Rails.version.to_f >= 5
Mime[:xlsx]
else
Mime::XLSX
end
Mime[:xlsx].symbol
end

def call(template, source = nil)
builder = StringIO.new
builder << "require 'axlsx';"
builder << "require 'caxlsx';"
builder << "xlsx_author = defined?(xlsx_author).nil? ? nil : xlsx_author;"
builder << "xlsx_created_at = defined?(xlsx_created_at).nil? ? nil : xlsx_created_at;"
builder << "xlsx_use_shared_strings = defined?(xlsx_use_shared_strings).nil? ? nil : xlsx_use_shared_strings;"
Expand Down
4 changes: 0 additions & 4 deletions lib/tasks/axlsx_rails_tasks.rake

This file was deleted.

14 changes: 14 additions & 0 deletions spec/action_controller/renderers_spec.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# frozen_string_literal: true

require 'spec_helper'

describe ActionController::Renderers do
it 'is registered' do
ActionController::Renderers::RENDERERS.include?(:xlsx)
end

it 'has mime type' do
expect(Mime[:xlsx].to_sym).to eq(:xlsx)
expect(Mime[:xlsx].to_s).to eq("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")
end
end
88 changes: 0 additions & 88 deletions spec/axlsx_builder_spec.rb

This file was deleted.

15 changes: 0 additions & 15 deletions spec/axlsx_mailer_spec.rb

This file was deleted.

Loading
Loading