dust-rails 0.2.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
data/README.markdown CHANGED
@@ -16,10 +16,10 @@ Update your bundle:
16
16
 
17
17
  ## Usage
18
18
 
19
- Place individual Dust template file in their own file with `template_name.js.dust` extension:
19
+ Place individual Dust template file in their own file with `template_name.js.dust` extension.
20
20
 
21
21
  ```javascript
22
- /* app/assets/javascripts/dusts/demo.js.dust */
22
+ /* app/assets/javascripts/templates/demo.js.dust */
23
23
 
24
24
  Hello {name}! You have {count} new messages.
25
25
  ```
@@ -31,14 +31,31 @@ Which will be compiled and rendered as:
31
31
  ```
32
32
 
33
33
 
34
+ Dust-rails resolves the name of the template out of relative path of each template file.
35
+ Relative path starts from `app/assets/javascripts/templates/` by default.
36
+
37
+ app/assets/javascripts/templates/demo1.js.dust -> demo1
38
+ app/assets/javascripts/templates/demos/demo2.js.dust -> demos/demo2
39
+
40
+ If you want to change the default root path of template files, add following configuration into application.rb:
41
+
42
+ ```ruby
43
+ # config/application.rb
44
+ module YourApp
45
+ class Application < Rails::Application
46
+ config.dust.template_root = 'app/assets/your_path_to_templates/'
47
+ end
48
+ end
49
+ ```
50
+
34
51
  In your javascript files, require `dust-core` and your own template files.
35
- I recommend you put all the template files under `assets/javascripts/dusts` and require using `require_tree` for easy use.
52
+ Using `require_tree` is recommended if you want to require all the template files at once.
36
53
 
37
54
  ```javascript
38
55
  /* app/assets/javascripts/application.js */
39
56
 
40
57
  //= require dust-core
41
- //= require_tree ./dusts
58
+ //= require_tree ./templates
42
59
  ...
43
60
  dust.render("demo", {name: "Fred", count: 10}, function(err, out) {
44
61
  console.log(out);
@@ -29,9 +29,9 @@ module Dust
29
29
  end
30
30
 
31
31
  def evaluate(scope, locals, &block)
32
- <<-TMPL
33
- #{Source.context.call("dust.compile", data, name)}
34
- TMPL
32
+ template_root = Dust.config.template_root
33
+ template_name = file.split(template_root).last.split('.',2).first
34
+ Source.context.call("dust.compile", data, template_name)
35
35
  end
36
36
  end
37
37
  end
@@ -0,0 +1,15 @@
1
+ require 'rails'
2
+
3
+ module Dust
4
+ module Rails
5
+ class Railtie < ::Rails::Railtie
6
+ config.dust = ActiveSupport::OrderedOptions.new
7
+
8
+ initializer "dust.configure" do |app|
9
+ Dust.configure do |config|
10
+ config.template_root = app.config.dust[:template_root] || 'app/assets/javascripts/templates/'
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
@@ -1,5 +1,5 @@
1
1
  module Dust
2
2
  module Rails
3
- VERSION = "0.2.0"
3
+ VERSION = "0.3.0"
4
4
  end
5
5
  end
data/lib/dust-rails.rb CHANGED
@@ -1,9 +1,18 @@
1
1
  require "dust-rails/version"
2
2
  require "dust-rails/rails/engine.rb"
3
3
  require "dust-rails/rails/dust_template.rb"
4
+ require "dust-rails/rails/railtie.rb"
4
5
 
5
6
  module Dust
6
- module Rails
7
- # Your code goes here...
7
+ class Config
8
+ attr_accessor :template_root
9
+ end
10
+
11
+ def self.config
12
+ @@config ||= Config.new
13
+ end
14
+
15
+ def self.configure
16
+ yield self.config
8
17
  end
9
18
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dust-rails
3
3
  version: !ruby/object:Gem::Version
4
- hash: 23
4
+ hash: 19
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
- - 2
8
+ - 3
9
9
  - 0
10
- version: 0.2.0
10
+ version: 0.3.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - Hoseong Hwang
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-12-28 00:00:00 Z
18
+ date: 2012-01-03 00:00:00 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  name: rails
@@ -80,6 +80,7 @@ files:
80
80
  - lib/dust-rails.rb
81
81
  - lib/dust-rails/rails/dust_template.rb
82
82
  - lib/dust-rails/rails/engine.rb
83
+ - lib/dust-rails/rails/railtie.rb
83
84
  - lib/dust-rails/version.rb
84
85
  - vendor/assets/javascripts/dust-core.js
85
86
  - vendor/assets/javascripts/dust-core.min.js