From a7df17bcad91815c32d62c5dfd1445e5479092cf Mon Sep 17 00:00:00 2001 From: Steve Sloan Date: Sun, 22 May 2011 10:37:03 -0700 Subject: [PATCH 1/3] Added support for jQuery templates (.jqt). --- lib/backbone-rails.rb | 1 + lib/backbone-rails/jquery.rb | 12 ++++++++++++ lib/backbone-rails/tilt/jquery_template.rb | 18 ++++++++++++++++++ 3 files changed, 31 insertions(+) create mode 100644 lib/backbone-rails/jquery.rb create mode 100644 lib/backbone-rails/tilt/jquery_template.rb diff --git a/lib/backbone-rails.rb b/lib/backbone-rails.rb index 3eb4acd..538a316 100644 --- a/lib/backbone-rails.rb +++ b/lib/backbone-rails.rb @@ -6,6 +6,7 @@ class Engine < ::Rails::Engine config.after_initialize do |app| app.assets.engines.register '.jst', Tilt::UnderscoreTemplate + app.assets.engines.register '.jqt', Tilt::JqueryTemplate end end diff --git a/lib/backbone-rails/jquery.rb b/lib/backbone-rails/jquery.rb new file mode 100644 index 0000000..bd57e37 --- /dev/null +++ b/lib/backbone-rails/jquery.rb @@ -0,0 +1,12 @@ +class Jquery + extend ActionView::Helpers::JavaScriptHelper + + JST_START = "(function(){" + JST_END = "}).call(this);" + + def self.render(name, data) + template = "jQuery.template(\"#{name}\", \"#{escape_javascript data}\");" + [JST_START, template, JST_END].join("\n") + end + +end diff --git a/lib/backbone-rails/tilt/jquery_template.rb b/lib/backbone-rails/tilt/jquery_template.rb new file mode 100644 index 0000000..b0c2424 --- /dev/null +++ b/lib/backbone-rails/tilt/jquery_template.rb @@ -0,0 +1,18 @@ +require 'tilt/template' + +module Tilt + class JqueryTemplate < Template + self.default_mime_type = 'text/x-jquery-tmpl' + + def initialize_engine + require_template_library 'backbone-rails/jquery' + end + + def prepare; end + + def evaluate(scope, locals, &block) + Jquery.render(name, data) + end + + end +end From 924e1b7f67ea1f4cd295316065b1ad8f488df672 Mon Sep 17 00:00:00 2001 From: Steve Sloan Date: Sun, 22 May 2011 10:37:14 -0700 Subject: [PATCH 2/3] Fixed Rails dependency. --- backbone-rails.gemspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backbone-rails.gemspec b/backbone-rails.gemspec index cbce4d5..e747d86 100644 --- a/backbone-rails.gemspec +++ b/backbone-rails.gemspec @@ -12,7 +12,7 @@ Gem::Specification.new do |s| s.version = "0.0.1" s.add_development_dependency "bundler", "~> 1.0.0" - s.add_development_dependency "rails", "~> 3.1" + s.add_development_dependency "railties", "~> 3.1" s.require_paths = ['lib'] end From f1b36c5076b912f67475cf88383a7efcedf5b1c3 Mon Sep 17 00:00:00 2001 From: Steve Sloan Date: Sun, 29 May 2011 15:26:33 -0700 Subject: [PATCH 3/3] Fixed README in gemspec. --- backbone-rails.gemspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backbone-rails.gemspec b/backbone-rails.gemspec index e747d86..010c439 100644 --- a/backbone-rails.gemspec +++ b/backbone-rails.gemspec @@ -8,7 +8,7 @@ Gem::Specification.new do |s| s.summary = "Use backbone.js with rails 3.1" s.description = "quickly setup backbone.js for use with rails 3.1" - s.files = Dir["lib/**/*"] + Dir["vendor/**/*"] + ["MIT-LICENSE", "Rakefile", "README.rdoc"] + s.files = Dir["lib/**/*"] + Dir["vendor/**/*"] + ["MIT-LICENSE", "Rakefile", "README.md"] s.version = "0.0.1" s.add_development_dependency "bundler", "~> 1.0.0"