manuscript 0.2.3 → 0.3.9pre

Sign up to get free protection for your applications and to get access to all the features.
Files changed (45) hide show
  1. data/.gitignore +3 -0
  2. data/Gemfile +23 -0
  3. data/Rakefile +7 -5
  4. data/VERSION +1 -1
  5. data/config.ru +18 -4
  6. data/lib/manuscript.rb +18 -5
  7. data/lib/manuscript/design_manager.rb +87 -0
  8. data/lib/manuscript/keymaster.rb +1 -2
  9. data/lib/manuscript/page.rb +2 -2
  10. data/lib/manuscript/page_manager.rb +1 -0
  11. data/lib/manuscript/settings.rb +30 -0
  12. data/lib/manuscript/settings_manager.rb +17 -0
  13. data/lib/manuscript/template_file.rb +10 -3
  14. data/lib/manuscript/views/_page.haml +8 -0
  15. data/lib/manuscript/views/design.haml +29 -0
  16. data/lib/manuscript/views/edit_template_file.haml +7 -0
  17. data/{views → lib/manuscript/views}/layout.haml +1 -1
  18. data/lib/manuscript/views/menu.haml +16 -0
  19. data/lib/manuscript/views/new_template_file.haml +6 -0
  20. data/{views → lib/manuscript/views}/page.haml +7 -6
  21. data/lib/manuscript/views/pages.haml +7 -0
  22. data/lib/manuscript/views/settings.haml +10 -0
  23. data/{views → lib/manuscript/views}/template.haml +5 -9
  24. data/manuscript.gemspec +35 -23
  25. data/public/css/base.css +82 -14
  26. data/public/css/wmd.css +133 -0
  27. data/public/images/buttonbg.png +0 -0
  28. data/public/images/wmd-buttons.png +0 -0
  29. data/public/js/wmd.min.js +1 -0
  30. data/spec/manuscript/{template_manager_spec.rb → design_manager_spec.rb} +9 -9
  31. data/spec/manuscript/page_manager_spec.rb +2 -2
  32. data/spec/manuscript/settings_manager_spec.rb +21 -0
  33. data/spec/manuscript/settings_spec.rb +19 -0
  34. data/spec/spec_helper.rb +3 -0
  35. metadata +126 -56
  36. data/lib/manuscript/template_file_manager.rb +0 -53
  37. data/lib/manuscript/template_manager.rb +0 -44
  38. data/spec/manuscript/template_file_manager_spec.rb +0 -10
  39. data/views/_page.haml +0 -10
  40. data/views/edit_template_file.haml +0 -9
  41. data/views/menu.haml +0 -16
  42. data/views/new_template_file.haml +0 -7
  43. data/views/pages.haml +0 -6
  44. data/views/template_files.haml +0 -9
  45. data/views/templates.haml +0 -15
@@ -13,8 +13,8 @@ describe "PageManager" do
13
13
  end
14
14
 
15
15
  it "should display list with both pages" do
16
- get "/admin/pages"
17
-
16
+ get "/admin/pages", {}
17
+
18
18
  last_response.should be_ok
19
19
  last_response.body.should include("details")
20
20
  last_response.body.should include("contact")
@@ -0,0 +1,21 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
2
+
3
+ describe "SettingsManager" do
4
+ include Rack::Test::Methods
5
+
6
+ def app
7
+ Manuscript::SettingsManager
8
+ end
9
+
10
+ it "should show an edit form" do
11
+ get '/admin/settings'
12
+ last_response.should be_ok
13
+ end
14
+
15
+ it "should update settings" do
16
+ post '/admin/settings', :settings => { :site_name => "sample-page.com" }
17
+ last_response.should be_ok
18
+ Manuscript::Settings.new('settings.yml')[:site_name].should == "sample-page.com"
19
+ end
20
+
21
+ end
@@ -0,0 +1,19 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
2
+
3
+ describe Manuscript::Settings do
4
+
5
+ it "should load settings from file" do
6
+ @settings = Manuscript::Settings.new('settings.yml')
7
+ @settings.to_hash.should == {}
8
+ @settings.settings_file_name.should eql('settings.yml')
9
+ end
10
+
11
+ it "should save settings to file" do
12
+ @settings = Manuscript::Settings.new('settings.yml')
13
+ test_time = Time.now.to_s
14
+ @settings[:test_time] = test_time
15
+ @settings.save
16
+ Manuscript::Settings.new('settings.yml')[:test_time].should eql(test_time)
17
+ end
18
+
19
+ end
data/spec/spec_helper.rb CHANGED
@@ -2,6 +2,9 @@ $LOAD_PATH.unshift(File.dirname(__FILE__))
2
2
  $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
3
3
 
4
4
  require 'manuscript'
5
+
6
+ Bundler.require :test
7
+
5
8
  require 'spec'
6
9
  require 'spec/autorun'
7
10
  require 'rack/test'
metadata CHANGED
@@ -1,99 +1,161 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: manuscript
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.3
4
+ prerelease: true
5
+ segments:
6
+ - 0
7
+ - 3
8
+ - 9pre
9
+ version: 0.3.9pre
5
10
  platform: ruby
6
11
  authors:
7
- - hotink
12
+ - Chris Dinn
8
13
  autorequire:
9
14
  bindir: bin
10
15
  cert_chain: []
11
16
 
12
- date: 2010-01-22 00:00:00 -05:00
17
+ date: 2010-04-27 00:00:00 -04:00
13
18
  default_executable:
14
19
  dependencies:
15
20
  - !ruby/object:Gem::Dependency
16
- name: activerecord
21
+ name: ruby-openid
22
+ prerelease: false
23
+ requirement: &id001 !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - ">="
26
+ - !ruby/object:Gem::Version
27
+ segments:
28
+ - 0
29
+ version: "0"
17
30
  type: :runtime
18
- version_requirement:
19
- version_requirements: !ruby/object:Gem::Requirement
31
+ version_requirements: *id001
32
+ - !ruby/object:Gem::Dependency
33
+ name: activerecord
34
+ prerelease: false
35
+ requirement: &id002 !ruby/object:Gem::Requirement
20
36
  requirements:
21
37
  - - ">="
22
38
  - !ruby/object:Gem::Version
39
+ segments:
40
+ - 2
41
+ - 3
42
+ - 5
23
43
  version: 2.3.5
24
- version:
44
+ type: :runtime
45
+ version_requirements: *id002
25
46
  - !ruby/object:Gem::Dependency
26
47
  name: rdiscount
27
- type: :runtime
28
- version_requirement:
29
- version_requirements: !ruby/object:Gem::Requirement
48
+ prerelease: false
49
+ requirement: &id003 !ruby/object:Gem::Requirement
30
50
  requirements:
31
51
  - - ">="
32
52
  - !ruby/object:Gem::Version
53
+ segments:
54
+ - 1
55
+ - 3
56
+ - 5
33
57
  version: 1.3.5
34
- version:
58
+ type: :runtime
59
+ version_requirements: *id003
35
60
  - !ruby/object:Gem::Dependency
36
- name: sinatra
61
+ name: aws-s3
62
+ prerelease: false
63
+ requirement: &id004 !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - ">="
66
+ - !ruby/object:Gem::Version
67
+ segments:
68
+ - 0
69
+ version: "0"
37
70
  type: :runtime
38
- version_requirement:
39
- version_requirements: !ruby/object:Gem::Requirement
71
+ version_requirements: *id004
72
+ - !ruby/object:Gem::Dependency
73
+ name: sinatra
74
+ prerelease: false
75
+ requirement: &id005 !ruby/object:Gem::Requirement
40
76
  requirements:
41
77
  - - ">="
42
78
  - !ruby/object:Gem::Version
79
+ segments:
80
+ - 0
81
+ - 9
82
+ - 4
43
83
  version: 0.9.4
44
- version:
84
+ type: :runtime
85
+ version_requirements: *id005
45
86
  - !ruby/object:Gem::Dependency
46
87
  name: haml
47
- type: :runtime
48
- version_requirement:
49
- version_requirements: !ruby/object:Gem::Requirement
88
+ prerelease: false
89
+ requirement: &id006 !ruby/object:Gem::Requirement
50
90
  requirements:
51
91
  - - ">="
52
92
  - !ruby/object:Gem::Version
93
+ segments:
94
+ - 2
95
+ - 2
96
+ - 12
53
97
  version: 2.2.12
54
- version:
98
+ type: :runtime
99
+ version_requirements: *id006
55
100
  - !ruby/object:Gem::Dependency
56
101
  name: gatekeeper
57
- type: :runtime
58
- version_requirement:
59
- version_requirements: !ruby/object:Gem::Requirement
102
+ prerelease: false
103
+ requirement: &id007 !ruby/object:Gem::Requirement
60
104
  requirements:
61
105
  - - ">="
62
106
  - !ruby/object:Gem::Version
107
+ segments:
108
+ - 0
109
+ - 1
110
+ - 1
63
111
  version: 0.1.1
64
- version:
112
+ type: :runtime
113
+ version_requirements: *id007
65
114
  - !ruby/object:Gem::Dependency
66
115
  name: liquid
67
- type: :runtime
68
- version_requirement:
69
- version_requirements: !ruby/object:Gem::Requirement
116
+ prerelease: false
117
+ requirement: &id008 !ruby/object:Gem::Requirement
70
118
  requirements:
71
119
  - - ">="
72
120
  - !ruby/object:Gem::Version
121
+ segments:
122
+ - 2
123
+ - 0
124
+ - 0
73
125
  version: 2.0.0
74
- version:
126
+ type: :runtime
127
+ version_requirements: *id008
75
128
  - !ruby/object:Gem::Dependency
76
129
  name: paperclip
77
- type: :runtime
78
- version_requirement:
79
- version_requirements: !ruby/object:Gem::Requirement
130
+ prerelease: false
131
+ requirement: &id009 !ruby/object:Gem::Requirement
80
132
  requirements:
81
133
  - - ">="
82
134
  - !ruby/object:Gem::Version
135
+ segments:
136
+ - 2
137
+ - 3
138
+ - 1
139
+ - 1
83
140
  version: 2.3.1.1
84
- version:
141
+ type: :runtime
142
+ version_requirements: *id009
85
143
  - !ruby/object:Gem::Dependency
86
144
  name: rspec
87
- type: :development
88
- version_requirement:
89
- version_requirements: !ruby/object:Gem::Requirement
145
+ prerelease: false
146
+ requirement: &id010 !ruby/object:Gem::Requirement
90
147
  requirements:
91
148
  - - ">="
92
149
  - !ruby/object:Gem::Version
150
+ segments:
151
+ - 1
152
+ - 2
153
+ - 9
93
154
  version: 1.2.9
94
- version:
155
+ type: :development
156
+ version_requirements: *id010
95
157
  description: A gem for publishing a small Hot Ink authenticated site
96
- email: chris@hotink.net
158
+ email: chrisgdinn@gmail.com
97
159
  executables: []
98
160
 
99
161
  extensions: []
@@ -104,6 +166,7 @@ extra_rdoc_files:
104
166
  files:
105
167
  - .document
106
168
  - .gitignore
169
+ - Gemfile
107
170
  - LICENSE
108
171
  - README.rdoc
109
172
  - Rakefile
@@ -117,41 +180,45 @@ files:
117
180
  - db/migrate/006_add_parent_to_pages.rb
118
181
  - lib/manuscript.rb
119
182
  - lib/manuscript/base.rb
183
+ - lib/manuscript/design_manager.rb
120
184
  - lib/manuscript/keymaster.rb
121
185
  - lib/manuscript/layout_template.rb
122
186
  - lib/manuscript/page.rb
123
187
  - lib/manuscript/page_manager.rb
124
188
  - lib/manuscript/page_template.rb
189
+ - lib/manuscript/settings.rb
190
+ - lib/manuscript/settings_manager.rb
125
191
  - lib/manuscript/template.rb
126
192
  - lib/manuscript/template_file.rb
127
- - lib/manuscript/template_file_manager.rb
128
- - lib/manuscript/template_manager.rb
129
193
  - lib/manuscript/user.rb
194
+ - lib/manuscript/views/_page.haml
195
+ - lib/manuscript/views/design.haml
196
+ - lib/manuscript/views/edit_template_file.haml
197
+ - lib/manuscript/views/layout.haml
198
+ - lib/manuscript/views/menu.haml
199
+ - lib/manuscript/views/new_template_file.haml
200
+ - lib/manuscript/views/page.haml
201
+ - lib/manuscript/views/pages.haml
202
+ - lib/manuscript/views/settings.haml
203
+ - lib/manuscript/views/template.haml
130
204
  - manuscript.gemspec
131
205
  - public/css/base.css
206
+ - public/css/wmd.css
207
+ - public/images/buttonbg.png
208
+ - public/images/wmd-buttons.png
209
+ - public/js/wmd.min.js
132
210
  - spec/manuscript/base_spec.rb
211
+ - spec/manuscript/design_manager_spec.rb
133
212
  - spec/manuscript/layout_template_spec.rb
134
213
  - spec/manuscript/page_manager_spec.rb
135
214
  - spec/manuscript/page_spec.rb
136
215
  - spec/manuscript/page_template_spec.rb
137
- - spec/manuscript/template_file_manager_spec.rb
138
216
  - spec/manuscript/template_file_spec.rb
139
- - spec/manuscript/template_manager_spec.rb
140
217
  - spec/manuscript/user_spec.rb
141
218
  - spec/spec.opts
142
219
  - spec/spec_helper.rb
143
- - views/_page.haml
144
- - views/edit_template_file.haml
145
- - views/layout.haml
146
- - views/menu.haml
147
- - views/new_template_file.haml
148
- - views/page.haml
149
- - views/pages.haml
150
- - views/template.haml
151
- - views/template_files.haml
152
- - views/templates.haml
153
220
  has_rdoc: true
154
- homepage: http://github.com/hotink/manuscript
221
+ homepage: http://github.com/chrisdinn/manuscript
155
222
  licenses: []
156
223
 
157
224
  post_install_message:
@@ -163,29 +230,32 @@ required_ruby_version: !ruby/object:Gem::Requirement
163
230
  requirements:
164
231
  - - ">="
165
232
  - !ruby/object:Gem::Version
233
+ segments:
234
+ - 0
166
235
  version: "0"
167
- version:
168
236
  required_rubygems_version: !ruby/object:Gem::Requirement
169
237
  requirements:
170
238
  - - ">="
171
239
  - !ruby/object:Gem::Version
240
+ segments:
241
+ - 0
172
242
  version: "0"
173
- version:
174
243
  requirements: []
175
244
 
176
245
  rubyforge_project:
177
- rubygems_version: 1.3.5
246
+ rubygems_version: 1.3.6
178
247
  signing_key:
179
248
  specification_version: 3
180
249
  summary: A gem for publishing a small Hot Ink authenticated site
181
250
  test_files:
182
251
  - spec/manuscript/base_spec.rb
252
+ - spec/manuscript/design_manager_spec.rb
183
253
  - spec/manuscript/layout_template_spec.rb
184
254
  - spec/manuscript/page_manager_spec.rb
185
255
  - spec/manuscript/page_spec.rb
186
256
  - spec/manuscript/page_template_spec.rb
187
- - spec/manuscript/template_file_manager_spec.rb
257
+ - spec/manuscript/settings_manager_spec.rb
258
+ - spec/manuscript/settings_spec.rb
188
259
  - spec/manuscript/template_file_spec.rb
189
- - spec/manuscript/template_manager_spec.rb
190
260
  - spec/manuscript/user_spec.rb
191
261
  - spec/spec_helper.rb
@@ -1,53 +0,0 @@
1
-
2
- module Manuscript
3
- class TemplateFileManager < Sinatra::Base
4
- enable :methodoverride
5
-
6
- get '/admin/template_files/?' do
7
- @files = TemplateFile.all
8
- haml :template_files
9
- end
10
-
11
- get '/admin/template_files/new/?' do
12
- haml :new_template_file
13
- end
14
-
15
- post '/admin/template_files' do
16
- new_file = params[:template_file][:file][:tempfile]
17
- new_file.original_filename = params[:template_file][:file][:filename]
18
-
19
- @file = TemplateFile.new
20
- @file.file = new_file
21
- @file.save
22
- redirect '/admin/template_files'
23
- end
24
-
25
- get '/admin/template_files/:id/edit' do
26
- @file = TemplateFile.find(params[:id])
27
- haml :edit_template_file
28
- end
29
-
30
- put '/admin/template_files/:id' do
31
- new_file = params[:template_file][:file][:tempfile]
32
- new_file.original_filename = params[:template_file][:file][:filename]
33
-
34
- @file = TemplateFile.find(params[:id])
35
- raise Sinatra::NotFound unless @file
36
- @file.file = new_file
37
- @file.save
38
- redirect '/admin/template_files'
39
- end
40
-
41
- delete '/admin/template_files/:id' do
42
- @file = TemplateFile.find(params[:id])
43
- raise Sinatra::NotFound unless @file
44
- @file.destroy
45
- redirect '/admin/template_files'
46
- end
47
- end
48
- end
49
-
50
- # Paperclip expects a Rails-specific ActionController::UploadedFile, so fake it with Tempfile hack
51
- class Tempfile
52
- attr_accessor :original_filename
53
- end
@@ -1,44 +0,0 @@
1
- module Manuscript
2
- class TemplateManager < Sinatra::Base
3
- enable :methodoverride
4
-
5
- get "/admin/templates/?" do
6
- @templates = PageTemplate.all
7
- @layouts = LayoutTemplate.all
8
- haml :templates
9
- end
10
-
11
- get "/admin/templates/new" do
12
- @template = PageTemplate.new
13
- haml :template
14
- end
15
-
16
- get "/admin/layouts/new" do
17
- @template = LayoutTemplate.new
18
- haml :template
19
- end
20
-
21
- post "/admin/templates/?" do
22
- @template = PageTemplate.create(params[:template])
23
- redirect "/admin/templates/#{@template.id}/edit"
24
- end
25
-
26
- post "/admin/layouts/?" do
27
- @template = LayoutTemplate.create(params[:template])
28
- redirect "/admin/templates/#{@template.id}/edit"
29
- end
30
-
31
- get "/admin/templates/:id/edit" do
32
- @template = Template.find_by_id params[:id]
33
- halt 404, "Template not found" unless @template
34
- haml :template
35
- end
36
-
37
- put "/admin/templates/:id/?" do
38
- @template = Template.find_by_id params[:id]
39
- halt 404, "Template not found" unless @template
40
- @template.update_attributes(params[:template])
41
- redirect "/admin/templates/#{@template.id}/edit"
42
- end
43
- end
44
- end