Skip to content

Commit

Permalink
Support HTMLBars precompilation
Browse files Browse the repository at this point in the history
  • Loading branch information
tricknotes committed Dec 27, 2014
1 parent 8d3ff2d commit e608610
Show file tree
Hide file tree
Showing 10 changed files with 83 additions and 25 deletions.
11 changes: 8 additions & 3 deletions Appraisals
Expand Up @@ -3,12 +3,17 @@ appraise "ember-rc4" do
gem "ember-source", "1.0.0.rc4"
end

appraise "ember-1.7" do
appraise "ember-1.8" do
# Uses handlebars 1.3.0
gem "ember-source", "1.7.0"
gem "ember-source", "1.8.0"
end

appraise "ember-1.9" do
# Uses handlebars 2.0.0
gem "ember-source", "~> 1.9.0.alpha.2"
gem "ember-source", "~> 1.9.0"
end

appraise "ember-1.10" do
# Uses HTMLBars
gem "ember-source", "~> 1.10.0.beta.2"
end
8 changes: 8 additions & 0 deletions gemfiles/ember_1.10.gemfile
@@ -0,0 +1,8 @@
# This file was generated by Appraisal

source "https://rubygems.org"

gem "therubyrhino", :platform => :jruby
gem "ember-source", "~> 1.10.0.beta.2"

gemspec :path => "../"
43 changes: 43 additions & 0 deletions gemfiles/ember_1.10.gemfile.lock
@@ -0,0 +1,43 @@
PATH
remote: ../
specs:
barber (0.5.0)
ember-source
execjs
handlebars-source (>= 1.0.0.rc.4)

GEM
remote: https://rubygems.org/
specs:
appraisal (1.0.2)
bundler
rake
thor (>= 0.14.0)
docile (1.1.5)
ember-source (1.10.0.beta.2)
handlebars-source (~> 2.0)
execjs (2.2.2)
handlebars-source (2.0.0)
metaclass (0.0.4)
mocha (1.1.0)
metaclass (~> 0.0.1)
multi_json (1.10.1)
rake (10.4.2)
simplecov (0.9.1)
docile (~> 1.1.0)
multi_json (~> 1.0)
simplecov-html (~> 0.8.0)
simplecov-html (0.8.0)
thor (0.19.1)

PLATFORMS
ruby

DEPENDENCIES
appraisal
barber!
ember-source (~> 1.10.0.beta.2)
mocha (~> 1.0)
rake
simplecov
therubyrhino
2 changes: 1 addition & 1 deletion gemfiles/ember_1.7.gemfile → gemfiles/ember_1.8.gemfile
Expand Up @@ -3,6 +3,6 @@
source "https://rubygems.org"

gem "therubyrhino", :platform => :jruby
gem "ember-source", "1.7.0"
gem "ember-source", "1.8.0"

gemspec :path => "../"
@@ -1,7 +1,7 @@
PATH
remote: ../
specs:
barber (0.4.2)
barber (0.5.0)
ember-source
execjs
handlebars-source (>= 1.0.0.rc.4)
Expand All @@ -14,15 +14,15 @@ GEM
rake
thor (>= 0.14.0)
docile (1.1.5)
ember-source (1.7.0)
ember-source (1.8.0)
handlebars-source (~> 1.0)
execjs (2.2.2)
handlebars-source (1.3.0)
metaclass (0.0.4)
mocha (1.0.0)
mocha (1.1.0)
metaclass (~> 0.0.1)
multi_json (1.10.1)
rake (10.3.2)
rake (10.4.2)
simplecov (0.9.1)
docile (~> 1.1.0)
multi_json (~> 1.0)
Expand All @@ -36,8 +36,8 @@ PLATFORMS
DEPENDENCIES
appraisal
barber!
ember-source (= 1.7.0)
mocha (~> 1.0.0)
ember-source (= 1.8.0)
mocha (~> 1.0)
rake
simplecov
therubyrhino
2 changes: 1 addition & 1 deletion gemfiles/ember_1.9.gemfile
Expand Up @@ -3,6 +3,6 @@
source "https://rubygems.org"

gem "therubyrhino", :platform => :jruby
gem "ember-source", "~> 1.9.0.alpha.2"
gem "ember-source", "~> 1.9.0"

gemspec :path => "../"
12 changes: 6 additions & 6 deletions gemfiles/ember_1.9.gemfile.lock
@@ -1,7 +1,7 @@
PATH
remote: ../
specs:
barber (0.4.2)
barber (0.5.0)
ember-source
execjs
handlebars-source (>= 1.0.0.rc.4)
Expand All @@ -14,15 +14,15 @@ GEM
rake
thor (>= 0.14.0)
docile (1.1.5)
ember-source (1.9.0.alpha.2)
ember-source (1.9.1)
handlebars-source (~> 2.0)
execjs (2.2.2)
handlebars-source (2.0.0)
metaclass (0.0.4)
mocha (1.0.0)
mocha (1.1.0)
metaclass (~> 0.0.1)
multi_json (1.10.1)
rake (10.3.2)
rake (10.4.2)
simplecov (0.9.1)
docile (~> 1.1.0)
multi_json (~> 1.0)
Expand All @@ -36,8 +36,8 @@ PLATFORMS
DEPENDENCIES
appraisal
barber!
ember-source (~> 1.9.0.alpha.2)
mocha (~> 1.0.0)
ember-source (~> 1.9.0)
mocha (~> 1.0)
rake
simplecov
therubyrhino
8 changes: 4 additions & 4 deletions gemfiles/ember_rc4.gemfile.lock
@@ -1,7 +1,7 @@
PATH
remote: ../
specs:
barber (0.4.2)
barber (0.5.0)
ember-source
execjs
handlebars-source (>= 1.0.0.rc.4)
Expand All @@ -19,10 +19,10 @@ GEM
execjs (2.2.2)
handlebars-source (1.0.0.rc4)
metaclass (0.0.4)
mocha (1.0.0)
mocha (1.1.0)
metaclass (~> 0.0.1)
multi_json (1.10.1)
rake (10.3.2)
rake (10.4.2)
simplecov (0.9.1)
docile (~> 1.1.0)
multi_json (~> 1.0)
Expand All @@ -37,7 +37,7 @@ DEPENDENCIES
appraisal
barber!
ember-source (= 1.0.0.rc4)
mocha (~> 1.0.0)
mocha (~> 1.0)
rake
simplecov
therubyrhino
6 changes: 4 additions & 2 deletions lib/barber/javascripts/ember_precompiler.js
Expand Up @@ -2,13 +2,15 @@ var exports = this.exports || {};
var module = this.module || {exports: null};

function require() {
// ember-template-compiler only requires('handlebars')
// ember-template-compiler only requires which 'handlebars' or 'htmlbars'.
return module.exports || Handlebars;
}

// Precompiler
var Barber = {
precompile: function(string) {
return exports.precompile(string, false).toString();
var Compiler = exports.precompile ? exports : require(/* htmlbars */);

return Compiler.precompile(string, false).toString();
}
};
4 changes: 2 additions & 2 deletions test/ember/precompiler_test.rb
Expand Up @@ -4,11 +4,11 @@ class EmberPrecompilerTest < MiniTest::Unit::TestCase
def test_calls_the_ember_handlebars_precompiler
result = compile "Hello {{name}}"
assert result
assert_match /data\.buffer/, result
assert_match /data\.buffer|isHTMLBars: true/, result
end

def test_is_a_precompiler
assert Barber::Ember::Precompiler < Barber::Precompiler,
assert Barber::Ember::Precompiler < Barber::Precompiler,
"Ember precompile should inherit from Barber::Precompiler"
end

Expand Down

0 comments on commit e608610

Please sign in to comment.