turbo-rails 0.7.11 → 1.3.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,9 +1,11 @@
1
1
  def run_turbo_install_template(path)
2
- system "#{RbConfig.ruby} ./bin/rails app:template LOCATION=#{File.expand_path("../install/#{path}.rb", __dir__)}"
2
+ system "#{RbConfig.ruby} ./bin/rails app:template LOCATION=#{File.expand_path("../install/#{path}.rb", __dir__)}"
3
3
  end
4
4
 
5
5
  def redis_installed?
6
- system('which redis-server')
6
+ Gem.win_platform? ?
7
+ system('where redis-server > NUL 2>&1') :
8
+ system('which redis-server > /dev/null')
7
9
  end
8
10
 
9
11
  def switch_on_redis_if_available
data/lib/turbo/engine.rb CHANGED
@@ -16,13 +16,21 @@ module Turbo
16
16
  #{root}/app/jobs
17
17
  )
18
18
 
19
- initializer "turbo.no_action_cable" do
20
- Rails.autoloaders.once.do_not_eager_load(Dir["#{root}/app/channels/turbo/*_channel.rb"]) unless defined?(ActionCable)
19
+ initializer "turbo.no_action_cable", before: :set_eager_load_paths do
20
+ config.eager_load_paths.delete("#{root}/app/channels") unless defined?(ActionCable)
21
21
  end
22
22
 
23
+ # If you don't want to precompile Turbo's assets (eg. because you're using webpack),
24
+ # you can do this in an intiailzer:
25
+ #
26
+ # config.after_initialize do
27
+ # config.assets.precompile -= Turbo::Engine::PRECOMPILE_ASSETS
28
+ # end
29
+ PRECOMPILE_ASSETS = %w( turbo.js turbo.min.js turbo.min.js.map )
30
+
23
31
  initializer "turbo.assets" do
24
32
  if Rails.application.config.respond_to?(:assets)
25
- Rails.application.config.assets.precompile += %w( turbo.js )
33
+ Rails.application.config.assets.precompile += PRECOMPILE_ASSETS
26
34
  end
27
35
  end
28
36
 
@@ -53,8 +61,10 @@ module Turbo
53
61
  end
54
62
 
55
63
  initializer "turbo.signed_stream_verifier_key" do
56
- Turbo.signed_stream_verifier_key = config.turbo.signed_stream_verifier_key ||
57
- Rails.application.key_generator.generate_key("turbo/signed_stream_verifier_key")
64
+ config.after_initialize do
65
+ Turbo.signed_stream_verifier_key = config.turbo.signed_stream_verifier_key ||
66
+ Rails.application.key_generator.generate_key("turbo/signed_stream_verifier_key")
67
+ end
58
68
  end
59
69
 
60
70
  initializer "turbo.test_assertions" do
@@ -7,15 +7,21 @@ module Turbo
7
7
  delegate :dom_id, :dom_class, to: ActionView::RecordIdentifier
8
8
  end
9
9
 
10
- def assert_turbo_stream(action:, target: nil, status: :ok, &block)
10
+ def assert_turbo_stream(action:, target: nil, targets: nil, status: :ok, &block)
11
11
  assert_response status
12
12
  assert_equal Mime[:turbo_stream], response.media_type
13
- assert_select %(turbo-stream[action="#{action}"][target="#{target.respond_to?(:to_key) ? dom_id(target) : target}"]), count: 1, &block
13
+ selector = %(turbo-stream[action="#{action}"])
14
+ selector << %([target="#{target.respond_to?(:to_key) ? dom_id(target) : target}"]) if target
15
+ selector << %([targets="#{targets}"]) if targets
16
+ assert_select selector, count: 1, &block
14
17
  end
15
18
 
16
- def assert_no_turbo_stream(action:, target: nil)
19
+ def assert_no_turbo_stream(action:, target: nil, targets: nil)
17
20
  assert_equal Mime[:turbo_stream], response.media_type
18
- assert_select %(turbo-stream[action="#{action}"][target="#{target.respond_to?(:to_key) ? dom_id(target) : target}"]), count: 0
21
+ selector = %(turbo-stream[action="#{action}"])
22
+ selector << %([target="#{target.respond_to?(:to_key) ? dom_id(target) : target}"]) if target
23
+ selector << %([targets="#{targets}"]) if targets
24
+ assert_select selector, count: 0
19
25
  end
20
26
  end
21
27
  end
data/lib/turbo/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Turbo
2
- VERSION = "0.7.11"
2
+ VERSION = "1.3.0"
3
3
  end
metadata CHANGED
@@ -1,19 +1,19 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: turbo-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.11
4
+ version: 1.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sam Stephenson
8
8
  - Javan Mahkmali
9
9
  - David Heinemeier Hansson
10
- autorequire:
10
+ autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2021-09-03 00:00:00.000000000 Z
13
+ date: 2022-09-22 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
- name: rails
16
+ name: activejob
17
17
  requirement: !ruby/object:Gem::Requirement
18
18
  requirements:
19
19
  - - ">="
@@ -26,7 +26,35 @@ dependencies:
26
26
  - - ">="
27
27
  - !ruby/object:Gem::Version
28
28
  version: 6.0.0
29
- description:
29
+ - !ruby/object:Gem::Dependency
30
+ name: actionpack
31
+ requirement: !ruby/object:Gem::Requirement
32
+ requirements:
33
+ - - ">="
34
+ - !ruby/object:Gem::Version
35
+ version: 6.0.0
36
+ type: :runtime
37
+ prerelease: false
38
+ version_requirements: !ruby/object:Gem::Requirement
39
+ requirements:
40
+ - - ">="
41
+ - !ruby/object:Gem::Version
42
+ version: 6.0.0
43
+ - !ruby/object:Gem::Dependency
44
+ name: railties
45
+ requirement: !ruby/object:Gem::Requirement
46
+ requirements:
47
+ - - ">="
48
+ - !ruby/object:Gem::Version
49
+ version: 6.0.0
50
+ type: :runtime
51
+ prerelease: false
52
+ version_requirements: !ruby/object:Gem::Requirement
53
+ requirements:
54
+ - - ">="
55
+ - !ruby/object:Gem::Version
56
+ version: 6.0.0
57
+ description:
30
58
  email: david@loudthinking.com
31
59
  executables: []
32
60
  extensions: []
@@ -36,6 +64,8 @@ files:
36
64
  - README.md
37
65
  - Rakefile
38
66
  - app/assets/javascripts/turbo.js
67
+ - app/assets/javascripts/turbo.min.js
68
+ - app/assets/javascripts/turbo.min.js.map
39
69
  - app/channels/turbo/streams/broadcasts.rb
40
70
  - app/channels/turbo/streams/stream_name.rb
41
71
  - app/channels/turbo/streams_channel.rb
@@ -50,7 +80,9 @@ files:
50
80
  - app/helpers/turbo/streams_helper.rb
51
81
  - app/javascript/turbo/cable.js
52
82
  - app/javascript/turbo/cable_stream_source_element.js
83
+ - app/javascript/turbo/fetch_requests.js
53
84
  - app/javascript/turbo/index.js
85
+ - app/javascript/turbo/snakeize.js
54
86
  - app/jobs/turbo/streams/action_broadcast_job.rb
55
87
  - app/jobs/turbo/streams/broadcast_job.rb
56
88
  - app/models/concerns/turbo/broadcastable.rb
@@ -68,7 +100,7 @@ homepage: https://github.com/hotwired/turbo-rails
68
100
  licenses:
69
101
  - MIT
70
102
  metadata: {}
71
- post_install_message:
103
+ post_install_message:
72
104
  rdoc_options: []
73
105
  require_paths:
74
106
  - lib
@@ -83,8 +115,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
83
115
  - !ruby/object:Gem::Version
84
116
  version: '0'
85
117
  requirements: []
86
- rubygems_version: 3.1.4
87
- signing_key:
118
+ rubygems_version: 3.3.20
119
+ signing_key:
88
120
  specification_version: 4
89
121
  summary: The speed of a single-page web application without having to write any JavaScript.
90
122
  test_files: []