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 +21 -4
- data/lib/dust-rails/rails/dust_template.rb +3 -3
- data/lib/dust-rails/rails/railtie.rb +15 -0
- data/lib/dust-rails/version.rb +1 -1
- data/lib/dust-rails.rb +11 -2
- metadata +5 -4
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/
|
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
|
-
|
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 ./
|
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
|
-
|
33
|
-
|
34
|
-
|
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
|
data/lib/dust-rails/version.rb
CHANGED
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
|
-
|
7
|
-
|
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:
|
4
|
+
hash: 19
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
|
-
-
|
8
|
+
- 3
|
9
9
|
- 0
|
10
|
-
version: 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:
|
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
|