Skip to content

Commit 45083d8

Browse files
committed
Merge pull request rails#25119 from javan/actioncable/blade-build
Build action_cable.js with Blade
1 parent 658c25a commit 45083d8

File tree

14 files changed

+27
-51
lines changed

14 files changed

+27
-51
lines changed

Gemfile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@ group :cable do
6565
gem 'redis', require: false
6666

6767
gem 'faye-websocket', require: false
68+
gem 'blade', '~> 0.5.5', require: false
6869
end
6970

7071
# Add your own local bundler stuff.

Gemfile.lock

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,20 @@ GEM
8585
bcrypt (3.1.11-x86-mingw32)
8686
beaneater (1.0.0)
8787
benchmark-ips (2.6.1)
88+
blade (0.5.5)
89+
activesupport (>= 3.0.0)
90+
blade-qunit_adapter (~> 1.20.0)
91+
coffee-script
92+
coffee-script-source
93+
curses (~> 1.0.0)
94+
eventmachine
95+
faye
96+
sprockets (>= 3.0)
97+
sprockets-export (~> 0.9.1)
98+
thin (~> 1.6.0)
99+
thor (~> 0.19.1)
100+
useragent (~> 0.16.7)
101+
blade-qunit_adapter (1.20.0)
88102
builder (3.2.2)
89103
bunny (2.2.2)
90104
amq-protocol (>= 2.0.1)
@@ -237,6 +251,7 @@ GEM
237251
sprockets (3.6.2)
238252
concurrent-ruby (~> 1.0)
239253
rack (> 1, < 3)
254+
sprockets-export (0.9.1)
240255
sprockets-rails (3.1.1)
241256
actionpack (>= 4.0)
242257
activesupport (>= 4.0)
@@ -282,6 +297,7 @@ DEPENDENCIES
282297
backburner
283298
bcrypt (~> 3.1.11)
284299
benchmark-ips
300+
blade (~> 0.5.5)
285301
byebug
286302
coffee-rails (~> 4.2)
287303
dalli (>= 2.2.1)

actioncable/Rakefile

Lines changed: 3 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,13 @@
11
require 'rake/testtask'
22
require 'pathname'
3-
require 'sprockets'
4-
require 'coffee-script'
53
require 'action_cable'
4+
require 'blade'
65

76
dir = File.dirname(__FILE__)
87

98
task :default => :test
109

1110
task :package => "assets:compile"
12-
task "package:clean" => "assets:clean"
1311

1412
Rake::TestTask.new do |t|
1513
t.libs << "test"
@@ -27,44 +25,13 @@ namespace :test do
2725
end
2826

2927
task :javascript do
30-
require 'blade'
3128
Blade.start(interface: :runner)
3229
end
3330
end
3431

3532
namespace :assets do
36-
root_path = Pathname.new(dir)
37-
destination_path = root_path.join("lib/assets/compiled")
38-
39-
desc "Compile dist/action_cable.js"
33+
desc "Compile Action Cable assets"
4034
task :compile do
41-
puts 'Compiling Action Cable assets...'
42-
43-
precompile_list = %w(action_cable.js)
44-
45-
environment = Sprockets::Environment.new
46-
environment.gzip = false
47-
Pathname.glob(root_path.join("app/assets/*/")) do |subdir|
48-
environment.append_path subdir
49-
end
50-
51-
compile_path = root_path.join("tmp/sprockets")
52-
compile_path.rmtree if compile_path.exist?
53-
compile_path.mkpath
54-
55-
manifest = Sprockets::Manifest.new(environment.index, compile_path)
56-
manifest.compile(precompile_list)
57-
58-
destination_path.rmtree if destination_path.exist?
59-
manifest.assets.each do |path, fingerprint_path|
60-
destination_path.join(path).dirname.mkpath
61-
FileUtils.cp(compile_path.join(fingerprint_path), destination_path.join(path))
62-
end
63-
64-
puts 'Done'
65-
end
66-
67-
task :clean do
68-
destination_path.rmtree if destination_path.exist?
35+
Blade.build
6936
end
7037
end

actioncable/app/assets/javascripts/action_cable.coffee.erb

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
#= export ActionCable
12
#= require_self
23
#= require ./action_cable/consumer
34

@@ -33,9 +34,3 @@
3334
if @debugging
3435
messages.push(Date.now())
3536
console.log("[ActionCable]", messages...)
36-
37-
# NOTE: We expose ActionCable as a browser global so we can reference it
38-
# internally without concern for how the module is loaded.
39-
window?.ActionCable = @ActionCable
40-
41-
module?.exports = @ActionCable

actioncable/blade.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,9 @@ load_paths:
55

66
logical_paths:
77
- test.js
8+
9+
build:
10+
logical_paths:
11+
- action_cable.js
12+
path: lib/assets/compiled
13+
clean: true

actionmailer/Rakefile

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ desc "Default Task"
44
task default: [ :test ]
55

66
task :package
7-
task "package:clean"
87

98
# Run the unit tests
109
Rake::TestTask.new { |t|

actionpack/Rakefile

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ desc "Default Task"
66
task :default => :test
77

88
task :package
9-
task "package:clean"
109

1110
# Run the unit tests
1211
Rake::TestTask.new do |t|

actionview/Rakefile

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ desc "Default Task"
44
task :default => :test
55

66
task :package
7-
task "package:clean"
87

98
# Run the unit tests
109

activejob/Rakefile

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ task default: :test
99
task test: 'test:default'
1010

1111
task :package
12-
task "package:clean"
1312

1413
namespace :test do
1514
desc 'Run all adapter tests'

activemodel/Rakefile

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ dir = File.dirname(__FILE__)
55
task :default => :test
66

77
task :package
8-
task "package:clean"
98

109
Rake::TestTask.new do |t|
1110
t.libs << "test"

activerecord/Rakefile

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ desc 'Run mysql2, sqlite, and postgresql tests by default'
2121
task :default => :test
2222

2323
task :package
24-
task "package:clean"
2524

2625
desc 'Run mysql2, sqlite, and postgresql tests'
2726
task :test do

activesupport/Rakefile

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ require 'rake/testtask'
33
task :default => :test
44

55
task :package
6-
task "package:clean"
76

87
Rake::TestTask.new do |t|
98
t.libs << 'test'

railties/Rakefile

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ require 'rake/testtask'
33
task :default => :test
44

55
task :package
6-
task "package:clean"
76

87
desc "Run all unit tests"
98
task :test => 'test:isolated'

tasks/release.rb

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313

1414
task :clean do
1515
rm_f gem
16-
sh "cd #{framework} && bundle exec rake package:clean" unless framework == "rails"
1716
end
1817

1918
task :update_versions do

0 commit comments

Comments
 (0)