Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updated to dustjs 1.2.2 #4

Open
wants to merge 4 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,4 @@
pkg/*
.rbx/
Gemfile.lock
.idea
25 changes: 12 additions & 13 deletions dust_assets.gemspec
Original file line number Diff line number Diff line change
@@ -1,24 +1,23 @@
# -*- encoding: utf-8 -*-
$:.push File.expand_path("../lib", __FILE__)
require "dust_assets/version"
$:.push File.expand_path('../lib', __FILE__)
require 'dust_assets/version'

Gem::Specification.new do |s|
s.name = "dust_assets"
s.name = 'dust_assets'
s.version = DustAssets::VERSION
s.authors = ["Anderson Sequera", "Jose Narvaez", "Manuel Mujica"]
s.email = ["[email protected]", "[email protected]", "[email protected]"]
s.homepage = "http://github.com/hasmanydevelopers/dust_assets"
s.summary = "Compile Dust templates in the Rails asset pipeline."
s.description = "Compile Dust templates in the Rails asset pipeline."
s.authors = ['Anderson Sequera', 'Jose Narvaez', 'Manuel Mujica']
s.email = %w([email protected] [email protected] [email protected])
s.homepage = 'http://github.com/hasmanydevelopers/dust_assets'
s.summary = 'Compile Dust templates in the Rails asset pipeline.'
s.description = 'Compile Dust templates in the Rails asset pipeline.'

s.rubyforge_project = "dust_assets"
s.rubyforge_project = 'dust_assets'

s.files = `git ls-files`.split("\n")
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
s.require_paths = ["lib"]
s.require_paths = ['lib']

s.add_runtime_dependency "execjs", ">= 1.2.9"
s.add_runtime_dependency "tilt"
s.add_runtime_dependency "sprockets", ">= 2.0.3"
s.add_runtime_dependency 'execjs', '>= 1.2.9'
s.add_runtime_dependency 'sprockets', '>= 3.0.0'
end
30 changes: 21 additions & 9 deletions lib/dust_assets.rb
Original file line number Diff line number Diff line change
@@ -1,19 +1,31 @@
require "dust_assets/version"
require 'dust_assets/version'
require 'sprockets/jst_processor'

module DustAssets
PATH = File.expand_path("../../vendor/assets/javascripts", __FILE__)
autoload(:Dust, 'dust_assets/dust')
autoload(:DustProcessor, 'dust_assets/dust_processor')

PATH = File.expand_path('../../vendor/assets/javascripts', __FILE__)

def self.path
PATH
end

autoload(:Dust, 'dust_assets/dust')
autoload(:TiltDust, 'dust_assets/tilt_dust')
def self.register_extensions(sprockets_environment)
sprockets_environment.register_mime_type 'text/dust', extensions: ['.dust', '.jst.dust']
# SEE https://github.com/rails/sprockets/blob/e2952781d383f286b55c532d2347f42fa6679cfd/lib/sprockets.rb#L168
sprockets_environment.register_transformer 'text/dust', 'application/javascript+function', DustProcessor
sprockets_environment.register_transformer 'application/javascript+function', 'application/javascript', Sprockets:: JstProcessor
end

if defined?(Rails)
require 'dust_assets/engine'
else
require 'sprockets'
Sprockets.register_engine '.dust', TiltDust
def self.add_to_asset_versioning(sprockets_environment)
sprockets_environment.version += "-#{DustAssets::VERSION}"
end
end

if defined?(Rails)
require 'dust_assets/engine'
else
require 'sprockets'
::DustAssets.register_extensions(Sprockets)
end
6 changes: 3 additions & 3 deletions lib/dust_assets/dust.rb
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
module DustAssets
class Dust
class << self
def precompile(source, name)
context.call('dust.compile', source, name)
def precompile(*args)
context.call('dust.compile', *args)
end

private
Expand All @@ -20,7 +20,7 @@ def source
end

def path
@path ||= assets_path.join('dust.js')
@path ||= assets_path.join('dust-full.js')
end

def assets_path
Expand Down
34 changes: 34 additions & 0 deletions lib/dust_assets/dust_processor.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
module DustAssets
class DustProcessor

def self.instance
@instance ||= new
end

def self.call(input)
instance.call(input)
end

def self.cache_key
instance.cache_key
end

attr_reader :cache_key

def initialize(options = {})
@cache_key = [self.class.name, ::DustAssets::VERSION, options].freeze
end

def call(input)
template_name = input[:name]
compiled = Dust.precompile(input[:data], template_name)
<<-TEMPLATE
(function(ctx, callback) {
dust.loadSource(#{compiled.inspect});
dust.render('#{template_name}', ctx, callback);
})
TEMPLATE
end
end

end
7 changes: 4 additions & 3 deletions lib/dust_assets/engine.rb
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
module DustAssets
class Engine < ::Rails::Engine
initializer "sprockets.dust", :after => "sprockets.environment", :group => :all do |app|
next unless app.assets
app.assets.register_engine('.dust', TiltDust)
initializer 'sprockets.dust', :after => 'sprockets.environment', :group => :all do |_|
config.assets.configure do |sprockets_env|
::DustAssets::register_extensions(sprockets_env)
end
end
end
end
23 changes: 0 additions & 23 deletions lib/dust_assets/tilt_dust.rb

This file was deleted.

2 changes: 1 addition & 1 deletion lib/dust_assets/version.rb
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
module DustAssets
VERSION = "0.0.5"
VERSION = '0.0.6'
end
21 changes: 0 additions & 21 deletions test/dust_assets/tilt_dust_test.rb

This file was deleted.

5 changes: 0 additions & 5 deletions test/test_helper.rb

This file was deleted.

Loading