aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJavan Makhmali <javan@javan.us>2016-05-23 09:37:16 -0400
committerJavan Makhmali <javan@javan.us>2016-05-24 13:11:10 -0400
commit11078dddbb94c620bff13a7c656390392b2007f8 (patch)
tree65216a0d9e047bf55db62f7878d931d9ae8bd1ee
parent6a2b2058e57d0474588fcabad261182cdb8866ef (diff)
downloadrails-11078dddbb94c620bff13a7c656390392b2007f8.tar.gz
rails-11078dddbb94c620bff13a7c656390392b2007f8.tar.bz2
rails-11078dddbb94c620bff13a7c656390392b2007f8.zip
Build action_cable.js with Blade
-rw-r--r--Gemfile2
-rw-r--r--Gemfile.lock16
-rw-r--r--actioncable/Rakefile40
-rw-r--r--actioncable/app/assets/javascripts/action_cable.coffee.erb7
-rw-r--r--actioncable/blade.yml6
5 files changed, 21 insertions, 50 deletions
diff --git a/Gemfile b/Gemfile
index 75adda01af..776d39d569 100644
--- a/Gemfile
+++ b/Gemfile
@@ -64,7 +64,7 @@ group :cable do
gem 'redis', require: false
gem 'faye-websocket', require: false
- gem 'blade', '~> 0.5.1', require: false
+ gem 'blade', '~> 0.5.5', require: false
end
# Add your own local bundler stuff.
diff --git a/Gemfile.lock b/Gemfile.lock
index 6761292398..4a9ac10244 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -116,15 +116,16 @@ GEM
bcrypt (3.1.11-x86-mingw32)
beaneater (1.0.0)
benchmark-ips (2.6.1)
- blade (0.5.1)
+ blade (0.5.5)
activesupport (>= 3.0.0)
blade-qunit_adapter (~> 1.20.0)
- coffee-script (~> 2.4.0)
- coffee-script-source (~> 1.10.0)
+ coffee-script
+ coffee-script-source
curses (~> 1.0.0)
- eventmachine (~> 1.2.0)
- faye (~> 1.1.1)
- sprockets (~> 3.6.0)
+ eventmachine
+ faye
+ sprockets (>= 3.0)
+ sprockets-export (~> 0.9.1)
thin (~> 1.6.0)
thor (~> 0.19.1)
useragent (~> 0.16.7)
@@ -284,6 +285,7 @@ GEM
sprockets (3.6.0)
concurrent-ruby (~> 1.0)
rack (> 1, < 3)
+ sprockets-export (0.9.1)
sprockets-rails (3.0.4)
actionpack (>= 4.0)
activesupport (>= 4.0)
@@ -331,7 +333,7 @@ DEPENDENCIES
backburner
bcrypt (~> 3.1.11)
benchmark-ips
- blade (~> 0.5.1)
+ blade (~> 0.5.5)
byebug
coffee-rails!
dalli (>= 2.2.1)
diff --git a/actioncable/Rakefile b/actioncable/Rakefile
index 58c18dd457..aa62265ac9 100644
--- a/actioncable/Rakefile
+++ b/actioncable/Rakefile
@@ -1,15 +1,14 @@
require 'rake/testtask'
require 'pathname'
-require 'sprockets'
-require 'coffee-script'
require 'action_cable'
+require 'blade'
dir = File.dirname(__FILE__)
task :default => :test
task :package => "assets:compile"
-task "package:clean" => "assets:clean"
+task "package:clean"
Rake::TestTask.new do |t|
t.libs << "test"
@@ -27,44 +26,13 @@ namespace :test do
end
task :javascript do
- require 'blade'
Blade.start(interface: :runner)
end
end
namespace :assets do
- root_path = Pathname.new(dir)
- destination_path = root_path.join("lib/assets/compiled")
-
- desc "Compile dist/action_cable.js"
+ desc "Compile Action Cable assets"
task :compile do
- puts 'Compiling Action Cable assets...'
-
- precompile_list = %w(action_cable.js)
-
- environment = Sprockets::Environment.new
- environment.gzip = false
- Pathname.glob(root_path.join("app/assets/*/")) do |subdir|
- environment.append_path subdir
- end
-
- compile_path = root_path.join("tmp/sprockets")
- compile_path.rmtree if compile_path.exist?
- compile_path.mkpath
-
- manifest = Sprockets::Manifest.new(environment.index, compile_path)
- manifest.compile(precompile_list)
-
- destination_path.rmtree if destination_path.exist?
- manifest.assets.each do |path, fingerprint_path|
- destination_path.join(path).dirname.mkpath
- FileUtils.cp(compile_path.join(fingerprint_path), destination_path.join(path))
- end
-
- puts 'Done'
- end
-
- task :clean do
- destination_path.rmtree if destination_path.exist?
+ Blade.build
end
end
diff --git a/actioncable/app/assets/javascripts/action_cable.coffee.erb b/actioncable/app/assets/javascripts/action_cable.coffee.erb
index 32f9f517f4..210a3ae17e 100644
--- a/actioncable/app/assets/javascripts/action_cable.coffee.erb
+++ b/actioncable/app/assets/javascripts/action_cable.coffee.erb
@@ -1,3 +1,4 @@
+#= export ActionCable
#= require_self
#= require ./action_cable/consumer
@@ -33,9 +34,3 @@
if @debugging
messages.push(Date.now())
console.log("[ActionCable]", messages...)
-
-# NOTE: We expose ActionCable as a browser global so we can reference it
-# internally without concern for how the module is loaded.
-window?.ActionCable = @ActionCable
-
-module?.exports = @ActionCable
diff --git a/actioncable/blade.yml b/actioncable/blade.yml
index 7980f3d101..9cdb318c97 100644
--- a/actioncable/blade.yml
+++ b/actioncable/blade.yml
@@ -5,3 +5,9 @@ load_paths:
logical_paths:
- test.js
+
+build:
+ logical_paths:
+ - action_cable.js
+ path: lib/assets/compiled
+ clean: true