suite 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
data/lib/suite/server.rb CHANGED
@@ -1,16 +1,46 @@
1
1
  require 'goliath/api'
2
2
  require 'goliath/runner'
3
- require 'suite/server/asset'
4
- require 'suite/server/root_asset'
5
- require 'suite/server/content'
3
+ require 'suite/server/error'
4
+ require 'suite/renderers/page'
5
+ require 'mime/types'
6
6
 
7
7
  module Suite
8
8
  class Server < Goliath::API
9
- map "/assets/*asset", Suite::AssetServer
10
- map "/*content", Suite::ContentServer
9
+ include Suite::ServerError
10
+ def response(env)
11
+ path = env["REQUEST_PATH"]
12
+ if path =~ /^\/assets/
13
+ respond_with_asset path
14
+ else
15
+ respond_with_content path
16
+ end
17
+ end
18
+
19
+ def respond_with_asset path
20
+ asset = Suite.project.asset path.gsub(/^\/assets\//,'')
21
+ return not_found unless asset
22
+ content_types = MIME::Types.type_for(path)
23
+ headers = {'content-type'=> content_types.first.content_type } unless content_types.size == 0
24
+ [
25
+ 200,
26
+ headers || {},
27
+ asset.body
28
+ ]
29
+ end
11
30
 
12
- %w[favicon.ico].each do |resource|
13
- map "/#{resource}", Suite::RootAssetServer
31
+ def respond_with_content path
32
+ return not_found unless page = Suite.project.page_at_slugs(slugs)
33
+ renderer = Suite::Renderers::Page.new page[:layout], page[:content]
34
+ [200,{},renderer.render]
14
35
  end
36
+
37
+ def slugs
38
+ if self.env["REQUEST_PATH"] == "/"
39
+ ["index"]
40
+ else
41
+ self.env["REQUEST_PATH"].split("/")
42
+ end
43
+ end
44
+
15
45
  end
16
46
  end
data/lib/suite/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Suite
2
- VERSION = "0.1.1"
2
+ VERSION = "0.1.2"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: suite
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
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-03-07 00:00:00.000000000 Z
12
+ date: 2012-03-09 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rspec
16
- requirement: &70111184752820 !ruby/object:Gem::Requirement
16
+ requirement: &70337811301140 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '2.6'
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *70111184752820
24
+ version_requirements: *70337811301140
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: thor
27
- requirement: &70111184748680 !ruby/object:Gem::Requirement
27
+ requirement: &70337811299280 !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: :runtime
34
34
  prerelease: false
35
- version_requirements: *70111184748680
35
+ version_requirements: *70337811299280
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: goliath
38
- requirement: &70111184743340 !ruby/object:Gem::Requirement
38
+ requirement: &70337811295260 !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: :runtime
45
45
  prerelease: false
46
- version_requirements: *70111184743340
46
+ version_requirements: *70337811295260
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: mime-types
49
- requirement: &70111184740900 !ruby/object:Gem::Requirement
49
+ requirement: &70337811293880 !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: :runtime
56
56
  prerelease: false
57
- version_requirements: *70111184740900
57
+ version_requirements: *70337811293880
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: haml
60
- requirement: &70111184740020 !ruby/object:Gem::Requirement
60
+ requirement: &70337811292600 !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: *70111184740020
68
+ version_requirements: *70337811292600
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: sprockets
71
- requirement: &70111184738060 !ruby/object:Gem::Requirement
71
+ requirement: &70337811289920 !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: *70111184738060
79
+ version_requirements: *70337811289920
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: sprockets-sass
82
- requirement: &70111184736600 !ruby/object:Gem::Requirement
82
+ requirement: &70337811285080 !ruby/object:Gem::Requirement
83
83
  none: false
84
84
  requirements:
85
85
  - - ! '>='
@@ -87,10 +87,10 @@ dependencies:
87
87
  version: '0'
88
88
  type: :runtime
89
89
  prerelease: false
90
- version_requirements: *70111184736600
90
+ version_requirements: *70337811285080
91
91
  - !ruby/object:Gem::Dependency
92
92
  name: coffee-script
93
- requirement: &70111184735220 !ruby/object:Gem::Requirement
93
+ requirement: &70337811282420 !ruby/object:Gem::Requirement
94
94
  none: false
95
95
  requirements:
96
96
  - - ! '>='
@@ -98,10 +98,10 @@ dependencies:
98
98
  version: '0'
99
99
  type: :runtime
100
100
  prerelease: false
101
- version_requirements: *70111184735220
101
+ version_requirements: *70337811282420
102
102
  - !ruby/object:Gem::Dependency
103
103
  name: compass
104
- requirement: &70111184734260 !ruby/object:Gem::Requirement
104
+ requirement: &70337811278360 !ruby/object:Gem::Requirement
105
105
  none: false
106
106
  requirements:
107
107
  - - ! '>='
@@ -109,10 +109,10 @@ dependencies:
109
109
  version: '0'
110
110
  type: :runtime
111
111
  prerelease: false
112
- version_requirements: *70111184734260
112
+ version_requirements: *70337811278360
113
113
  - !ruby/object:Gem::Dependency
114
114
  name: yui-compressor
115
- requirement: &70111184733260 !ruby/object:Gem::Requirement
115
+ requirement: &70337811276640 !ruby/object:Gem::Requirement
116
116
  none: false
117
117
  requirements:
118
118
  - - ! '>='
@@ -120,7 +120,7 @@ dependencies:
120
120
  version: '0'
121
121
  type: :runtime
122
122
  prerelease: false
123
- version_requirements: *70111184733260
123
+ version_requirements: *70337811276640
124
124
  description: All the stuff that make front end web development fun, in one simple
125
125
  toolkit
126
126
  email:
@@ -163,10 +163,7 @@ files:
163
163
  - lib/suite/renderers/html.rb
164
164
  - lib/suite/renderers/page.rb
165
165
  - lib/suite/server.rb
166
- - lib/suite/server/asset.rb
167
- - lib/suite/server/content.rb
168
166
  - lib/suite/server/error.rb
169
- - lib/suite/server/root_asset.rb
170
167
  - lib/suite/version.rb
171
168
  - suite.gemspec
172
169
  homepage: ''
@@ -1,17 +0,0 @@
1
- require 'suite/server/error'
2
- require 'mime/types'
3
-
4
- module Suite
5
- class AssetServer < Goliath::API
6
- include Suite::ServerError
7
- def response(env)
8
- asset = Suite.project.asset env.params[:asset].join("/")
9
- return not_found unless asset
10
- [
11
- 200,
12
- {'content-type'=> MIME::Types.type_for(env.params[:asset].last).first.content_type },
13
- asset.body
14
- ]
15
- end
16
- end
17
- end
@@ -1,18 +0,0 @@
1
- require 'suite/server/error'
2
- require 'suite/renderers/page'
3
-
4
- module Suite
5
- class ContentServer < Goliath::API
6
- include Suite::ServerError
7
- def response env
8
- return not_found unless page = Suite.project.page_at_slugs(slugs)
9
- renderer = Suite::Renderers::Page.new page[:layout], page[:content]
10
- [200,{},renderer.render]
11
- end
12
-
13
- # Returns the array of slugs, or index if no slug
14
- def slugs
15
- self.env.params[:content].map{ |slug| slug == "" ? "index" : slug }
16
- end
17
- end
18
- end
@@ -1,4 +0,0 @@
1
- module Suite
2
- class RootAssetServer < Goliath::API
3
- end
4
- end