Skip to content

Commit

Permalink
Commit to ruby@2.6 support
Browse files Browse the repository at this point in the history
Closes [#681][]

First, remove `ruby@3.0` syntax including `...` arguments and end-less
method definitions.

Next, add `ruby@2.6` and `ruby@2.7` to the CI matrix along with
`rails@7.1`.

[#681]: #681
  • Loading branch information
seanpdoyle committed Sep 19, 2024
1 parent 780ee0d commit 41e5ced
Show file tree
Hide file tree
Showing 6 changed files with 27 additions and 14 deletions.
9 changes: 7 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,17 @@ jobs:
strategy:
fail-fast: false
matrix:
rails: [ "6.1", "7.0", "7.1" ]
ruby: [ "3.0", "3.1", "3.2", "3.3" ]
rails: [ "6.1", "7.0", "7.1", "7.2" ]
ruby: [ "2.7", "3.0", "3.1", "3.2", "3.3" ]
allow-fail: [ false ]
include:
- { ruby: "2.6", rails: "6.1" }
- { ruby: "3.3", rails: "main", allow-fail: true }
- { ruby: "3.2", rails: "main", allow-fail: true }
- { ruby: "head", rails: "main", allow-fail: true }
exclude:
- { ruby: "2.7", rails: "7.2" }
- { ruby: "3.0", rails: "7.2" }

env:
FERRUM_PROCESS_TIMEOUT: 25
Expand All @@ -33,6 +37,7 @@ jobs:

- name: Run Bug Template Tests
run: ruby bug_report_template.rb || ruby bug_report_template.rb
continue-on-error: ${{ startsWith(matrix.ruby, '2') || false }}

- name: Run tests
id: test
Expand Down
2 changes: 1 addition & 1 deletion Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ source 'https://rubygems.org'

gemspec

rails_version = ENV.fetch("RAILS_VERSION", "7.1")
rails_version = ENV.fetch("RAILS_VERSION", "7.2")

if rails_version == "main"
rails_constraint = { github: "rails/rails" }
Expand Down
2 changes: 1 addition & 1 deletion app/models/concerns/turbo/broadcastable.rb
Original file line number Diff line number Diff line change
Expand Up @@ -508,7 +508,7 @@ def broadcast_target_default
self.class.broadcast_target_default
end

def extract_options_and_add_target(rendering = {}, target: broadcast_target_default)
def extract_options_and_add_target(rendering = {}, target: broadcast_target_default, targets: nil)
broadcast_rendering_with_defaults(rendering).tap do |options|
options[:target] = target if !options.key?(:target) && !options.key?(:targets)
end
Expand Down
10 changes: 6 additions & 4 deletions test/streams/broadcastable_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,12 @@ class Turbo::BroadcastableTest < ActionCable::Channel::TestCase

test "broadcasting ignores blank streamables" do
ActionCable.server.stub :broadcast, proc { flunk "expected no broadcasts" } do
@message.broadcast_remove_to nil
@message.broadcast_remove_to [nil]
@message.broadcast_remove_to ""
@message.broadcast_remove_to [""]
assert_no_broadcasts @message.to_gid_param do
@message.broadcast_remove_to nil
@message.broadcast_remove_to [nil]
@message.broadcast_remove_to ""
@message.broadcast_remove_to [""]
end
end
end

Expand Down
14 changes: 10 additions & 4 deletions test/streams/streams_helper_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,17 @@ class TestChannel < ApplicationCable::Channel; end

class Turbo::StreamsHelperTest < ActionView::TestCase
class Component
extend ActiveModel::Naming
include ActiveModel::Model

def initialize(id:, content:) = (@id, @content = id, content)
def render_in(...) = @content
def to_key = [@id]
attr_accessor :id, :content

def render_in(view_context)
content
end

def to_key
[id]
end
end

attr_accessor :formats
Expand Down
4 changes: 2 additions & 2 deletions test/test_helper.rb
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@
ActionCable.server.config.logger = Logger.new(STDOUT) if ENV["VERBOSE"]

module ActionViewTestCaseExtensions
def render(...)
ApplicationController.renderer.render(...)
def render(*args, &block)
ApplicationController.renderer.render(*args, &block)
end
end

Expand Down

0 comments on commit 41e5ced

Please sign in to comment.