dust-rails 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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