milksteak 0.0.7 → 0.0.8
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/lib/liquid_helpers.rb
CHANGED
@@ -2,6 +2,21 @@ module FragmentHelper
|
|
2
2
|
def fragment(name)
|
3
3
|
Milksteak::Fragment.render(name)
|
4
4
|
end
|
5
|
+
|
6
|
+
def hash_attribute(hash, name)
|
7
|
+
if hash.keys.include?(name)
|
8
|
+
return hash[name]
|
9
|
+
elsif hash.keys.include?(name.to_sym)
|
10
|
+
return hash[name.to_sym]
|
11
|
+
else
|
12
|
+
nil
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
def inspect(obj)
|
17
|
+
return obj.inspect
|
18
|
+
end
|
19
|
+
|
5
20
|
end
|
6
21
|
|
7
22
|
Liquid::Template.register_filter(FragmentHelper)
|
data/lib/milksteak/version.rb
CHANGED
data/lib/models/yml_content.rb
CHANGED
@@ -37,10 +37,10 @@ module Milksteak
|
|
37
37
|
p
|
38
38
|
end
|
39
39
|
|
40
|
-
def self.render(name)
|
40
|
+
def self.render(name, params = {})
|
41
41
|
begin
|
42
42
|
p = self.load(name, "r")
|
43
|
-
p.render
|
43
|
+
p.render(params)
|
44
44
|
rescue Errno::ENOENT => e
|
45
45
|
""
|
46
46
|
end
|
@@ -70,11 +70,11 @@ module Milksteak
|
|
70
70
|
end
|
71
71
|
|
72
72
|
# todo: test
|
73
|
-
def render
|
74
|
-
rendered = Liquid::Template.parse(self.content).render(self.data)
|
73
|
+
def render(params = {})
|
74
|
+
rendered = Liquid::Template.parse(self.content).render(self.data.merge("params" => params))
|
75
75
|
if self.data["layout"]
|
76
76
|
layout = Milksteak::Layout.load(self.data["layout"])
|
77
|
-
data = layout.data.merge("yield" => rendered)
|
77
|
+
data = layout.data.merge("yield" => rendered, "params" => params)
|
78
78
|
rendered = Liquid::Template.parse(layout.content).render(data)
|
79
79
|
end
|
80
80
|
if self.data["format"]
|
@@ -0,0 +1 @@
|
|
1
|
+
This is a Test Object. {{ params | hash_attribute, "foo" }}
|
@@ -4,4 +4,12 @@ describe Milksteak::Fragment do
|
|
4
4
|
it "should use the fragments/ folder" do
|
5
5
|
Milksteak::Fragment.folder.should == "fragments"
|
6
6
|
end
|
7
|
+
|
8
|
+
it "should allow sub-dir fragments" do
|
9
|
+
f = File.open(File.join(File.dirname(__FILE__), "../fixtures/objs/sample_obj.yml"), "r")
|
10
|
+
f.stub(:save).and_return true
|
11
|
+
File.should_receive(:new).with("/tmp/milk_site/fragments/section/sub-folder/fragment-name.yml", "r").and_return f
|
12
|
+
c = Milksteak::Fragment.load("section/sub-folder/fragment-name")
|
13
|
+
end
|
14
|
+
|
7
15
|
end
|
@@ -44,6 +44,13 @@ describe TestYmlObject do
|
|
44
44
|
content.should == "This is a Test Object\n"
|
45
45
|
end
|
46
46
|
|
47
|
+
it "should accept additional params for rendering" do
|
48
|
+
f = File.open(File.join(File.dirname(__FILE__), "../fixtures/objs/sample_obj_with_params.yml"), "r")
|
49
|
+
File.should_receive(:new).with("/tmp/milk_site/objs/home.yml", "r").and_return f
|
50
|
+
content = TestYmlObject.render("home", {:foo => "This is from params."})
|
51
|
+
content.should == "This is a Test Object. This is from params.\n"
|
52
|
+
end
|
53
|
+
|
47
54
|
it "should render obj as markdown when specified as format" do
|
48
55
|
f = File.open(File.join(File.dirname(__FILE__), "../fixtures/objs/sample_obj.yml"), "r")
|
49
56
|
File.should_receive(:new).with("/tmp/milk_site/objs/home.yml", "r").and_return f
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: milksteak
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.8
|
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: 2012-
|
12
|
+
date: 2012-06-01 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rspec
|
16
|
-
requirement: &
|
16
|
+
requirement: &23900640 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :development
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *23900640
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: guard-rspec
|
27
|
-
requirement: &
|
27
|
+
requirement: &23900220 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :development
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *23900220
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: webmock
|
38
|
-
requirement: &
|
38
|
+
requirement: &23899800 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *23899800
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: rack-test
|
49
|
-
requirement: &
|
49
|
+
requirement: &23899380 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: '0'
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *23899380
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: liquid
|
60
|
-
requirement: &
|
60
|
+
requirement: &23898960 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ! '>='
|
@@ -65,10 +65,10 @@ dependencies:
|
|
65
65
|
version: '0'
|
66
66
|
type: :runtime
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *23898960
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: BlueCloth
|
71
|
-
requirement: &
|
71
|
+
requirement: &23898540 !ruby/object:Gem::Requirement
|
72
72
|
none: false
|
73
73
|
requirements:
|
74
74
|
- - ! '>='
|
@@ -76,10 +76,10 @@ dependencies:
|
|
76
76
|
version: '0'
|
77
77
|
type: :runtime
|
78
78
|
prerelease: false
|
79
|
-
version_requirements: *
|
79
|
+
version_requirements: *23898540
|
80
80
|
- !ruby/object:Gem::Dependency
|
81
81
|
name: sinatra
|
82
|
-
requirement: &
|
82
|
+
requirement: &23927100 !ruby/object:Gem::Requirement
|
83
83
|
none: false
|
84
84
|
requirements:
|
85
85
|
- - ! '>='
|
@@ -87,7 +87,7 @@ dependencies:
|
|
87
87
|
version: '0'
|
88
88
|
type: :runtime
|
89
89
|
prerelease: false
|
90
|
-
version_requirements: *
|
90
|
+
version_requirements: *23927100
|
91
91
|
description: ! 'Super tiny and simple ruby-based cms that uses yml for content '
|
92
92
|
email:
|
93
93
|
- bryan.thompson@firespring.com
|
@@ -447,6 +447,7 @@ files:
|
|
447
447
|
- spec/fixtures/fragments/sample_fragment.yml
|
448
448
|
- spec/fixtures/layouts/primary.yml
|
449
449
|
- spec/fixtures/objs/sample_obj.yml
|
450
|
+
- spec/fixtures/objs/sample_obj_with_params.yml
|
450
451
|
- spec/fixtures/pages/sample_page.yml
|
451
452
|
- spec/lib/milksteak/cms_spec.rb
|
452
453
|
- spec/models/fragment_spec.rb
|
@@ -482,6 +483,7 @@ test_files:
|
|
482
483
|
- spec/fixtures/fragments/sample_fragment.yml
|
483
484
|
- spec/fixtures/layouts/primary.yml
|
484
485
|
- spec/fixtures/objs/sample_obj.yml
|
486
|
+
- spec/fixtures/objs/sample_obj_with_params.yml
|
485
487
|
- spec/fixtures/pages/sample_page.yml
|
486
488
|
- spec/lib/milksteak/cms_spec.rb
|
487
489
|
- spec/models/fragment_spec.rb
|