stasis 0.1.8 → 0.1.9

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/config/gemspec.yml CHANGED
@@ -1,5 +1,5 @@
1
1
  name: stasis
2
- version: 0.1.8
2
+ version: 0.1.9
3
3
  authors:
4
4
  - Winton Welsh
5
5
  email: mail@wintoni.us
data/lib/stasis.rb CHANGED
@@ -32,6 +32,7 @@ $:.unshift File.dirname(__FILE__)
32
32
  # Require all Stasis library files.
33
33
 
34
34
  require 'stasis/dev_mode'
35
+ require 'stasis/options'
35
36
  require 'stasis/plugin'
36
37
  require 'stasis/server'
37
38
 
@@ -186,7 +187,8 @@ class Stasis
186
187
  # path, receive output from `@action._render`.
187
188
  #
188
189
  # Otherwise, render the file located at `@path`.
189
- output = @action._render || @action.render(@path, :callback => false)
190
+ render_opts = {:callback => false}.merge(:template => Options.get_template_option(ext))
191
+ output = @action._render || @action.render(@path, render_opts)
190
192
 
191
193
  # If a layout was specified via the `layout` method...
192
194
  if @action._layout
@@ -291,4 +293,4 @@ class Stasis
291
293
  end
292
294
  plugins
293
295
  end
294
- end
296
+ end
@@ -0,0 +1,21 @@
1
+ class Stasis
2
+ class Options
3
+
4
+ @@template_options = Hash.new
5
+
6
+ # Set template engine options.
7
+ #
8
+ # type: string, template extension, e.g 'haml'
9
+ # opts: hash, template options
10
+ def self.set_template_option(type, opts={})
11
+ @@template_options[type] = opts
12
+ end
13
+
14
+ # Retrieve template engine options if available.
15
+ # Returns empty hash if no options set.
16
+ def self.get_template_option(type)
17
+ @@template_options[type] || {}
18
+ end
19
+
20
+ end
21
+ end
@@ -22,6 +22,7 @@ class Stasis
22
22
  path = options[:path]
23
23
  scope = options[:scope]
24
24
  text = options[:text]
25
+ template_options = options[:template]
25
26
 
26
27
  if @stasis.controller
27
28
  path = @stasis.controller._resolve(path)
@@ -41,7 +42,7 @@ class Stasis
41
42
  output =
42
43
  if Tilt.mappings.keys.include?(File.extname(path)[1..-1])
43
44
  scope = options[:scope] ||= @stasis.action
44
- Tilt.new(path).render(scope, locals, &block)
45
+ Tilt.new(path, nil, template_options).render(scope, locals, &block)
45
46
  else
46
47
  File.read(path)
47
48
  end
@@ -68,4 +69,4 @@ class Stasis
68
69
  @stasis.path = old_path
69
70
  end
70
71
  end
71
- end
72
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: stasis
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.8
4
+ version: 0.1.9
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-09-10 00:00:00.000000000Z
12
+ date: 2011-09-14 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: directory_watcher
16
- requirement: &70251733002460 !ruby/object:Gem::Requirement
16
+ requirement: &70138389573200 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 1.4.0
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70251733002460
24
+ version_requirements: *70138389573200
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: redis
27
- requirement: &70251733002000 !ruby/object:Gem::Requirement
27
+ requirement: &70138389572740 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ~>
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: 2.2.1
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70251733002000
35
+ version_requirements: *70138389572740
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: slop
38
- requirement: &70251733001560 !ruby/object:Gem::Requirement
38
+ requirement: &70138389572300 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ~>
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: 2.1.0
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *70251733001560
46
+ version_requirements: *70138389572300
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: tilt
49
- requirement: &70251733001120 !ruby/object:Gem::Requirement
49
+ requirement: &70138389571860 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ~>
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: '1.3'
55
55
  type: :runtime
56
56
  prerelease: false
57
- version_requirements: *70251733001120
57
+ version_requirements: *70138389571860
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: yajl-ruby
60
- requirement: &70251733000680 !ruby/object:Gem::Requirement
60
+ requirement: &70138389571420 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ~>
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: 0.8.2
66
66
  type: :runtime
67
67
  prerelease: false
68
- version_requirements: *70251733000680
68
+ version_requirements: *70138389571420
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rake
71
- requirement: &70251733000100 !ruby/object:Gem::Requirement
71
+ requirement: &70138389570840 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ! '>='
@@ -76,10 +76,10 @@ dependencies:
76
76
  version: 0.8.7
77
77
  type: :development
78
78
  prerelease: false
79
- version_requirements: *70251733000100
79
+ version_requirements: *70138389570840
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: rspec
82
- requirement: &70251732999660 !ruby/object:Gem::Requirement
82
+ requirement: &70138389570400 !ruby/object:Gem::Requirement
83
83
  none: false
84
84
  requirements:
85
85
  - - ~>
@@ -87,7 +87,7 @@ dependencies:
87
87
  version: '1.0'
88
88
  type: :development
89
89
  prerelease: false
90
- version_requirements: *70251732999660
90
+ version_requirements: *70138389570400
91
91
  description: Stasis is a dynamic framework for static sites.
92
92
  email: mail@wintoni.us
93
93
  executables:
@@ -105,6 +105,7 @@ files:
105
105
  - lib/stasis.rb
106
106
  - lib/stasis/dev_mode.rb
107
107
  - lib/stasis/gems.rb
108
+ - lib/stasis/options.rb
108
109
  - lib/stasis/plugin.rb
109
110
  - lib/stasis/plugins/before.rb
110
111
  - lib/stasis/plugins/helpers.rb