templette 0.5.1 → 0.5.2
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/templette/data_accessors.rb +10 -2
- data/lib/templette/engines/haml.rb +14 -2
- data/lib/templette/page.rb +5 -3
- metadata +2 -2
@@ -19,14 +19,22 @@ module Templette
|
|
19
19
|
end
|
20
20
|
|
21
21
|
def partial(filename) # :nodoc:
|
22
|
-
raise PageError.new(page, "Rendering #{filename} failed. File not found.") unless File.exists?(filename)
|
23
|
-
Engineer.engine_for(Engineer.determine_type(filename)).render(File.read(filename), page._binding)
|
22
|
+
raise PageError.new(page, "Rendering #{partial_path(filename)} failed. File not found.") unless File.exists?(partial_path(filename))
|
23
|
+
Engineer.engine_for(Engineer.determine_type(filename)).render(File.read(partial_path(filename)), page._binding)
|
24
24
|
rescue RenderError => e
|
25
25
|
raise PageError.new(page, e.message)
|
26
26
|
end
|
27
27
|
|
28
28
|
private
|
29
29
|
|
30
|
+
def partial_path(filename)
|
31
|
+
if filename =~ Regexp.new(Page::pages_dir)
|
32
|
+
filename
|
33
|
+
else
|
34
|
+
Page::pages_dir + filename
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
30
38
|
def generate_accessor(k, v)
|
31
39
|
raise TempletteError.new(page, "Method already defined: #{k}. Change your config file and stop using it!") if self.methods.include?(k.to_s)
|
32
40
|
if v.kind_of?(Hash)
|
@@ -5,9 +5,21 @@ module Templette
|
|
5
5
|
class Haml
|
6
6
|
|
7
7
|
def render(html, the_binding)
|
8
|
-
::Haml::Engine.new(html).render(the_binding)
|
8
|
+
with_no_warnings { ::Haml::Engine.new(html).render(the_binding) }
|
9
9
|
end
|
10
|
-
|
10
|
+
|
11
|
+
|
12
|
+
def with_no_warnings
|
13
|
+
save = $-w
|
14
|
+
$-w = false
|
15
|
+
|
16
|
+
begin
|
17
|
+
yield
|
18
|
+
ensure
|
19
|
+
$-w = save
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
11
23
|
end
|
12
24
|
end
|
13
25
|
end
|
data/lib/templette/page.rb
CHANGED
@@ -24,9 +24,11 @@ module Templette
|
|
24
24
|
include Templette::DataAccessors
|
25
25
|
attr_reader :name, :template
|
26
26
|
|
27
|
+
PAGES_DEFAULT = 'pages/'
|
28
|
+
|
27
29
|
class <<self
|
28
30
|
def pages_dir
|
29
|
-
@@pages_dir ||=
|
31
|
+
@@pages_dir ||= PAGES_DEFAULT
|
30
32
|
end
|
31
33
|
|
32
34
|
def pages_dir=(path)
|
@@ -36,7 +38,7 @@ module Templette
|
|
36
38
|
# Grabs all of the yaml files found in /pages, and loads them as
|
37
39
|
# Page objects.
|
38
40
|
def find_all
|
39
|
-
Dir["#{pages_dir}
|
41
|
+
Dir["#{pages_dir}**/*.yml"].map {|f| new f }
|
40
42
|
end
|
41
43
|
end
|
42
44
|
|
@@ -45,7 +47,7 @@ module Templette
|
|
45
47
|
|
46
48
|
data = YAML::load_file(page_config)
|
47
49
|
@name = page_config.dup
|
48
|
-
@name.slice!(self.class.pages_dir
|
50
|
+
@name.slice!(self.class.pages_dir)
|
49
51
|
@name.chomp!('.yml')
|
50
52
|
raise PageError.new(self, "missing required section \"template_name\" for page config #{page_config}") unless data['template_name']
|
51
53
|
@template = Template.new(data['template_name'])
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: templette
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jacob Dunphy and Steve Holder
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-
|
12
|
+
date: 2009-03-05 00:00:00 -08:00
|
13
13
|
default_executable: templette
|
14
14
|
dependencies: []
|
15
15
|
|