milksteak 0.0.11 → 0.0.12

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.
@@ -1,3 +1,3 @@
1
1
  module Milksteak
2
- VERSION = "0.0.11"
2
+ VERSION = "0.0.12"
3
3
  end
data/lib/milksteak.rb CHANGED
@@ -65,12 +65,17 @@ module Milksteak
65
65
 
66
66
  unless session[:ms_user]
67
67
  flash[:error] = "You must be logged in to see this area."
68
- redirect "/"
68
+ redirect "/ms-admin/login" unless request.path_info == "/ms-admin/login"
69
69
  end
70
70
  end
71
71
 
72
72
  get "/ms-admin" do
73
73
  erb "admin", :layout => "admin"
74
74
  end
75
+
76
+ get "/ms-admin/login" do
77
+ return "asdf"
78
+ end
79
+
75
80
  end
76
81
  end
@@ -74,7 +74,13 @@ module Milksteak
74
74
  rendered = Liquid::Template.parse(self.content).render(self.data.merge("params" => params))
75
75
 
76
76
  if self.data["format"]
77
- rendered = RDiscount.new(rendered, :smart).to_html if self.data["format"] == "markdown"
77
+ if self.data["format"] == "markdown"
78
+ if !self.data["allow_html"].nil? and self.data["allow_html"] == false
79
+ rendered = RDiscount.new(rendered, :filter_html, :smart).to_html
80
+ else
81
+ rendered = RDiscount.new(rendered, :smart).to_html
82
+ end
83
+ end
78
84
  end
79
85
 
80
86
  if self.data["layout"]
data/milksteak.gemspec CHANGED
@@ -31,4 +31,5 @@ Gem::Specification.new do |s|
31
31
  s.add_runtime_dependency "liquid"
32
32
  s.add_runtime_dependency "rdiscount" # using RDiscount for more advanced Markdown
33
33
  s.add_runtime_dependency "sinatra"
34
+ s.add_runtime_dependency "document_mapper"
34
35
  end
@@ -0,0 +1,7 @@
1
+ ---
2
+ description: Test Object
3
+ format: markdown
4
+ allow_html: false
5
+ ---
6
+
7
+ <strong>This is</strong> _a_ {{description}}
@@ -9,8 +9,14 @@ describe Milksteak do
9
9
  it "should redirect to / from /ms-admin" do
10
10
  get "/ms-admin"
11
11
  last_response.status.should == 302
12
+ (last_response.header["Location"] =~ /\/ms\-admin\/login/).should_not be_nil
12
13
  get "/ms-admin/"
13
14
  last_response.status.should == 302
15
+ (last_response.header["Location"] =~ /\/ms\-admin\/login/).should_not be_nil
16
+ end
17
+ it "should not redirect /ms-admin/login" do
18
+ get "/ms-admin/login"
19
+ last_response.status.should == 200
14
20
  end
15
21
  end
16
22
 
@@ -15,7 +15,7 @@ describe TestYmlObject do
15
15
  it "should get list of objs from milk_root/objs" do
16
16
  TestYmlObject.list.should be_an Array
17
17
  end
18
-
18
+
19
19
  # this utility method is used by the read and write methods as a consistent
20
20
  # way to access yml obj documents.
21
21
  it "should load a obj into params" do
@@ -59,6 +59,13 @@ describe TestYmlObject do
59
59
  obj.render.should == "<p>This is a Test Object</p>\n"
60
60
  end
61
61
 
62
+ it "should respect allow_html variable in yaml frontmatter" do
63
+ f = File.open(File.join(File.dirname(__FILE__), "../fixtures/objs/sample_obj_no_html.yml"), "r")
64
+ File.should_receive(:new).with("/tmp/milk_site/objs/home.yml", "r").and_return f
65
+ obj = TestYmlObject.load("home")
66
+ obj.render.should == "<p>&lt;strong>This is&lt;/strong> <em>a</em> Test Object</p>\n"
67
+ end
68
+
62
69
  it "should return empty string if trying to render a obj that doesn't exist" do
63
70
  FileUtils.stub(:mkdir).and_return true
64
71
  empty = TestYmlObject.render("home")
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.11
4
+ version: 0.0.12
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-06-16 00:00:00.000000000Z
12
+ date: 2012-07-19 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rspec
16
- requirement: &13670420 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,15 @@ dependencies:
21
21
  version: '0'
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *13670420
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: '0'
25
30
  - !ruby/object:Gem::Dependency
26
31
  name: guard-rspec
27
- requirement: &13670000 !ruby/object:Gem::Requirement
32
+ requirement: !ruby/object:Gem::Requirement
28
33
  none: false
29
34
  requirements:
30
35
  - - ! '>='
@@ -32,10 +37,15 @@ dependencies:
32
37
  version: '0'
33
38
  type: :development
34
39
  prerelease: false
35
- version_requirements: *13670000
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
36
46
  - !ruby/object:Gem::Dependency
37
47
  name: webmock
38
- requirement: &13669540 !ruby/object:Gem::Requirement
48
+ requirement: !ruby/object:Gem::Requirement
39
49
  none: false
40
50
  requirements:
41
51
  - - ! '>='
@@ -43,10 +53,15 @@ dependencies:
43
53
  version: '0'
44
54
  type: :development
45
55
  prerelease: false
46
- version_requirements: *13669540
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
47
62
  - !ruby/object:Gem::Dependency
48
63
  name: rack-test
49
- requirement: &13669080 !ruby/object:Gem::Requirement
64
+ requirement: !ruby/object:Gem::Requirement
50
65
  none: false
51
66
  requirements:
52
67
  - - ! '>='
@@ -54,10 +69,15 @@ dependencies:
54
69
  version: '0'
55
70
  type: :development
56
71
  prerelease: false
57
- version_requirements: *13669080
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
58
78
  - !ruby/object:Gem::Dependency
59
79
  name: liquid
60
- requirement: &13668640 !ruby/object:Gem::Requirement
80
+ requirement: !ruby/object:Gem::Requirement
61
81
  none: false
62
82
  requirements:
63
83
  - - ! '>='
@@ -65,10 +85,15 @@ dependencies:
65
85
  version: '0'
66
86
  type: :runtime
67
87
  prerelease: false
68
- version_requirements: *13668640
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ! '>='
92
+ - !ruby/object:Gem::Version
93
+ version: '0'
69
94
  - !ruby/object:Gem::Dependency
70
95
  name: rdiscount
71
- requirement: &13668140 !ruby/object:Gem::Requirement
96
+ requirement: !ruby/object:Gem::Requirement
72
97
  none: false
73
98
  requirements:
74
99
  - - ! '>='
@@ -76,10 +101,31 @@ dependencies:
76
101
  version: '0'
77
102
  type: :runtime
78
103
  prerelease: false
79
- version_requirements: *13668140
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
80
110
  - !ruby/object:Gem::Dependency
81
111
  name: sinatra
82
- requirement: &13667700 !ruby/object:Gem::Requirement
112
+ requirement: !ruby/object:Gem::Requirement
113
+ none: false
114
+ requirements:
115
+ - - ! '>='
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :runtime
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
122
+ requirements:
123
+ - - ! '>='
124
+ - !ruby/object:Gem::Version
125
+ version: '0'
126
+ - !ruby/object:Gem::Dependency
127
+ name: document_mapper
128
+ requirement: !ruby/object:Gem::Requirement
83
129
  none: false
84
130
  requirements:
85
131
  - - ! '>='
@@ -87,7 +133,12 @@ dependencies:
87
133
  version: '0'
88
134
  type: :runtime
89
135
  prerelease: false
90
- version_requirements: *13667700
136
+ version_requirements: !ruby/object:Gem::Requirement
137
+ none: false
138
+ requirements:
139
+ - - ! '>='
140
+ - !ruby/object:Gem::Version
141
+ version: '0'
91
142
  description: ! 'Super tiny and simple ruby-based cms that uses yml for content '
92
143
  email:
93
144
  - bryan.thompson@firespring.com
@@ -446,6 +497,7 @@ files:
446
497
  - spec/fixtures/fragments/sample_fragment.yml
447
498
  - spec/fixtures/layouts/primary.yml
448
499
  - spec/fixtures/objs/sample_obj.yml
500
+ - spec/fixtures/objs/sample_obj_no_html.yml
449
501
  - spec/fixtures/objs/sample_obj_with_params.yml
450
502
  - spec/fixtures/pages/sample_page.yml
451
503
  - spec/lib/milksteak/cms_spec.rb
@@ -474,7 +526,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
474
526
  version: '0'
475
527
  requirements: []
476
528
  rubyforge_project: milksteak
477
- rubygems_version: 1.8.15
529
+ rubygems_version: 1.8.24
478
530
  signing_key:
479
531
  specification_version: 3
480
532
  summary: Super tiny and simple ruby-based cms
@@ -482,6 +534,7 @@ test_files:
482
534
  - spec/fixtures/fragments/sample_fragment.yml
483
535
  - spec/fixtures/layouts/primary.yml
484
536
  - spec/fixtures/objs/sample_obj.yml
537
+ - spec/fixtures/objs/sample_obj_no_html.yml
485
538
  - spec/fixtures/objs/sample_obj_with_params.yml
486
539
  - spec/fixtures/pages/sample_page.yml
487
540
  - spec/lib/milksteak/cms_spec.rb