scharfie-bones 0.2.1 → 0.2.2
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/README +1 -1
- data/bones.gemspec +10 -4
- data/lib/bones/initializer.rb +8 -21
- data/lib/bones/proxy.rb +19 -0
- data/lib/bones/server.rb +24 -0
- data/lib/bones/static.rb +8 -0
- data/lib/bones/template.rb +4 -0
- data/lib/bones.rb +4 -3
- data/lib/boot.rb +0 -5
- data/lib/config.ru +6 -0
- data/lib/helpers/application_helper.rb +3 -0
- data/lib/layouts/application.html.erb +14 -0
- data/lib/tasks/bones.rb +1 -1
- metadata +12 -4
- data/lib/server.rb +0 -41
data/README
CHANGED
data/bones.gemspec
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
s.name = "bones"
|
3
|
-
s.version = "0.2.
|
4
|
-
s.date = "2009-
|
3
|
+
s.version = "0.2.2"
|
4
|
+
s.date = "2009-04-18"
|
5
5
|
s.authors = ["Chris Scharf", "Ryan Heath"]
|
6
6
|
s.email = "scharfie@gmail.com"
|
7
7
|
|
@@ -22,18 +22,24 @@ Gem::Specification.new do |s|
|
|
22
22
|
'lib/bones',
|
23
23
|
'lib/bones/cache.rb',
|
24
24
|
'lib/bones/initializer.rb',
|
25
|
+
'lib/bones/proxy.rb',
|
25
26
|
'lib/bones/release.rb',
|
27
|
+
'lib/bones/server.rb',
|
28
|
+
'lib/bones/static.rb',
|
26
29
|
'lib/bones/template.rb',
|
27
30
|
'lib/bones/versioned_release.rb',
|
28
31
|
'lib/bones.rb',
|
29
32
|
'lib/boot.rb',
|
33
|
+
'lib/config.ru',
|
30
34
|
'lib/extensions.rb',
|
31
35
|
'lib/helpers',
|
36
|
+
'lib/helpers/application_helper.rb',
|
32
37
|
'lib/helpers/core_helper.rb',
|
38
|
+
'lib/layouts',
|
39
|
+
'lib/layouts/application.html.erb',
|
33
40
|
'lib/pages/directory.html.erb',
|
34
41
|
'lib/pages/intro.html.erb',
|
35
42
|
'lib/Rakefile',
|
36
|
-
'lib/server.rb',
|
37
43
|
'lib/tasks',
|
38
44
|
'lib/tasks/bones.rb',
|
39
45
|
'Rakefile',
|
@@ -68,6 +74,6 @@ Gem::Specification.new do |s|
|
|
68
74
|
]
|
69
75
|
|
70
76
|
# Dependencies
|
71
|
-
s.add_dependency("rack", ["
|
77
|
+
s.add_dependency("rack", [">= 0.3.0"])
|
72
78
|
s.add_dependency("activesupport", [">= 2.1.0"])
|
73
79
|
end
|
data/lib/bones/initializer.rb
CHANGED
@@ -28,6 +28,7 @@ class Bones
|
|
28
28
|
pages_new = ensure_directory(Bones.root / 'pages')
|
29
29
|
ensure_directory(Bones.root / 'layouts')
|
30
30
|
ensure_directory(Bones.root / 'helpers')
|
31
|
+
ensure_directory(Bones.root / 'tmp')
|
31
32
|
|
32
33
|
if pages_new
|
33
34
|
ensure_file(Bones.root / 'pages' / 'index.html.erb') do |f|
|
@@ -36,38 +37,24 @@ class Bones
|
|
36
37
|
end
|
37
38
|
|
38
39
|
ensure_file(Bones.root / 'layouts' / 'application.html.erb') do |f|
|
39
|
-
f.write
|
40
|
-
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
41
|
-
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
42
|
-
<html>
|
43
|
-
<head>
|
44
|
-
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
|
45
|
-
<title>Welcome to bones</title>
|
46
|
-
<%= stylesheet_link_tag 'styles' %>
|
47
|
-
<%= javascript_include_tag %>
|
48
|
-
</head>
|
49
|
-
<body>
|
50
|
-
<h1>Welcome to <strong>bones</strong></h1>
|
51
|
-
<%= yield %>
|
52
|
-
</body>
|
53
|
-
</html>
|
54
|
-
HTML
|
40
|
+
f.write File.read(Bones.system_path / 'layouts' / 'application.html.erb')
|
55
41
|
end
|
56
42
|
|
57
43
|
ensure_file(Bones.root / 'public' / 'stylesheets' / 'styles.css')
|
58
44
|
|
59
45
|
ensure_file(Bones.root / 'helpers' / 'application_helper.rb') do |f|
|
60
|
-
f.write
|
61
|
-
# Provide any custom helpers that want in this module
|
62
|
-
module ApplicationHelper
|
63
|
-
end
|
64
|
-
HELPER
|
46
|
+
f.write File.read(Bones.system_path / 'helpers' / 'application_helper.rb')
|
65
47
|
end
|
66
48
|
|
67
49
|
ensure_file(Bones.root / 'Rakefile') do |f|
|
68
50
|
puts "** Adding Rakefile to parent directory"
|
69
51
|
f.write File.read(Bones.system_path / 'Rakefile')
|
70
52
|
end
|
53
|
+
|
54
|
+
ensure_file(Bones.root / 'config.ru') do |f|
|
55
|
+
puts "** Adding config.ru to parent directory"
|
56
|
+
f.write File.read(Bones.system_path / 'config.ru')
|
57
|
+
end
|
71
58
|
|
72
59
|
puts <<-HELP if __FILE__ == $0
|
73
60
|
|
data/lib/bones/proxy.rb
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
# BonesProxy is simply a proxy class handler
|
2
|
+
# to the actual Bones class - the reason for
|
3
|
+
# this is to allow live changes to Bones
|
4
|
+
# and helpers, etc. The proxy reloads on every
|
5
|
+
# request
|
6
|
+
class Bones
|
7
|
+
class Proxy
|
8
|
+
# Process incoming request
|
9
|
+
def call(env)
|
10
|
+
reload!
|
11
|
+
Bones.new.call(env)
|
12
|
+
end
|
13
|
+
|
14
|
+
# Reloads the application
|
15
|
+
def reload!
|
16
|
+
force_load 'Bones' => File.join(File.dirname(__FILE__), '..', 'bones.rb')
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
data/lib/bones/server.rb
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
class Bones
|
2
|
+
class Server
|
3
|
+
def self.run
|
4
|
+
statics = public_directories
|
5
|
+
app = Rack::Builder.new do
|
6
|
+
use Rack::CommonLogger
|
7
|
+
use Rack::ShowExceptions
|
8
|
+
use Rack::Reloader
|
9
|
+
use Bones::Static
|
10
|
+
run Bones::Proxy.new
|
11
|
+
end
|
12
|
+
|
13
|
+
port = ARGV.shift || 3000
|
14
|
+
puts "** Starting bones server on http://0.0.0.0:#{port}"
|
15
|
+
puts "** Public directories: #{statics.to_sentence}"
|
16
|
+
|
17
|
+
Rack::Handler::Mongrel.run app, :Port => port do |server|
|
18
|
+
puts "** Use CTRL-C to stop."
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
Bones::Server.run if __FILE__ == $0
|
data/lib/bones/static.rb
ADDED
data/lib/bones/template.rb
CHANGED
@@ -76,6 +76,10 @@ class Bones
|
|
76
76
|
# Compiles the template (along with the layout
|
77
77
|
# if necessary)
|
78
78
|
def compile
|
79
|
+
unless File.exist?(filename)
|
80
|
+
raise "Template missing\n#{filename}"
|
81
|
+
end
|
82
|
+
|
79
83
|
src = ERB.new(File.read(filename)).src
|
80
84
|
src = (local_assigns_source || '') + (src || '')
|
81
85
|
@content_for_layout = eval(src) # erb.result(binding)
|
data/lib/bones.rb
CHANGED
@@ -57,9 +57,10 @@ class Bones
|
|
57
57
|
output = template.compile
|
58
58
|
|
59
59
|
# Build a rack response
|
60
|
-
Rack::Response.new.finish do |response|
|
61
|
-
|
62
|
-
end
|
60
|
+
# Rack::Response.new.finish do |response|
|
61
|
+
# response.write output
|
62
|
+
# end
|
63
|
+
[200, { 'Content-Type' => 'text/html'}, output]
|
63
64
|
end
|
64
65
|
|
65
66
|
# Returns array of all pages (excluding partials)
|
data/lib/boot.rb
CHANGED
@@ -4,14 +4,9 @@ require 'activesupport'
|
|
4
4
|
require File.join(File.dirname(__FILE__), 'bones.rb')
|
5
5
|
require File.join(File.dirname(__FILE__), 'extensions.rb')
|
6
6
|
|
7
|
-
# Bones.root = BONES_ROOT if Object.const_defined?(:BONES_ROOT)
|
8
7
|
ActiveSupport::Dependencies.load_paths.push << Bones.system_path
|
9
8
|
|
10
9
|
require 'yaml'
|
11
|
-
require 'rack'
|
12
|
-
require 'rack/request'
|
13
|
-
require 'rack/response'
|
14
|
-
|
15
10
|
require 'fileutils'
|
16
11
|
require 'optparse'
|
17
12
|
require 'ostruct'
|
data/lib/config.ru
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
2
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
3
|
+
<html>
|
4
|
+
<head>
|
5
|
+
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
|
6
|
+
<title>Welcome to bones</title>
|
7
|
+
<%= stylesheet_link_tag 'styles' %>
|
8
|
+
<%= javascript_include_tag %>
|
9
|
+
</head>
|
10
|
+
<body>
|
11
|
+
<h1>Welcome to <strong>bones</strong></h1>
|
12
|
+
<%= yield %>
|
13
|
+
</body>
|
14
|
+
</html>
|
data/lib/tasks/bones.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: scharfie-bones
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Chris Scharf
|
@@ -10,20 +10,22 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2009-
|
13
|
+
date: 2009-04-18 00:00:00 -07:00
|
14
14
|
default_executable: bones
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: rack
|
18
|
+
type: :runtime
|
18
19
|
version_requirement:
|
19
20
|
version_requirements: !ruby/object:Gem::Requirement
|
20
21
|
requirements:
|
21
|
-
- - "
|
22
|
+
- - ">="
|
22
23
|
- !ruby/object:Gem::Version
|
23
24
|
version: 0.3.0
|
24
25
|
version:
|
25
26
|
- !ruby/object:Gem::Dependency
|
26
27
|
name: activesupport
|
28
|
+
type: :runtime
|
27
29
|
version_requirement:
|
28
30
|
version_requirements: !ruby/object:Gem::Requirement
|
29
31
|
requirements:
|
@@ -46,18 +48,24 @@ files:
|
|
46
48
|
- lib/bones
|
47
49
|
- lib/bones/cache.rb
|
48
50
|
- lib/bones/initializer.rb
|
51
|
+
- lib/bones/proxy.rb
|
49
52
|
- lib/bones/release.rb
|
53
|
+
- lib/bones/server.rb
|
54
|
+
- lib/bones/static.rb
|
50
55
|
- lib/bones/template.rb
|
51
56
|
- lib/bones/versioned_release.rb
|
52
57
|
- lib/bones.rb
|
53
58
|
- lib/boot.rb
|
59
|
+
- lib/config.ru
|
54
60
|
- lib/extensions.rb
|
55
61
|
- lib/helpers
|
62
|
+
- lib/helpers/application_helper.rb
|
56
63
|
- lib/helpers/core_helper.rb
|
64
|
+
- lib/layouts
|
65
|
+
- lib/layouts/application.html.erb
|
57
66
|
- lib/pages/directory.html.erb
|
58
67
|
- lib/pages/intro.html.erb
|
59
68
|
- lib/Rakefile
|
60
|
-
- lib/server.rb
|
61
69
|
- lib/tasks
|
62
70
|
- lib/tasks/bones.rb
|
63
71
|
- Rakefile
|
data/lib/server.rb
DELETED
@@ -1,41 +0,0 @@
|
|
1
|
-
# BonesProxy is simply a proxy class handler
|
2
|
-
# to the actual Bones class - the reason for
|
3
|
-
# this is to allow live changes to Bones
|
4
|
-
# and helpers, etc. The proxy reloads on every
|
5
|
-
# request
|
6
|
-
class BonesProxy
|
7
|
-
# Process incoming request
|
8
|
-
def call(env)
|
9
|
-
reload!
|
10
|
-
Bones.new.call(env)
|
11
|
-
end
|
12
|
-
|
13
|
-
# Reloads the application
|
14
|
-
def reload!
|
15
|
-
force_load 'Bones' => 'bones.rb'
|
16
|
-
end
|
17
|
-
end
|
18
|
-
|
19
|
-
class BonesServer
|
20
|
-
def self.run
|
21
|
-
statics = public_directories
|
22
|
-
|
23
|
-
app = Rack::Builder.new do
|
24
|
-
use Rack::CommonLogger
|
25
|
-
use Rack::ShowExceptions
|
26
|
-
use Rack::Reloader
|
27
|
-
use Rack::Static, :urls => statics, :root => Bones.root / 'public'
|
28
|
-
run BonesProxy.new
|
29
|
-
end
|
30
|
-
|
31
|
-
port = ARGV.shift || 3000
|
32
|
-
puts "** Starting bones server on http://0.0.0.0:#{port}"
|
33
|
-
puts "** Public directories: #{statics.to_sentence}"
|
34
|
-
|
35
|
-
Rack::Handler::Mongrel.run app, :Port => port do |server|
|
36
|
-
puts "** Use CTRL-C to stop."
|
37
|
-
end
|
38
|
-
end
|
39
|
-
end
|
40
|
-
|
41
|
-
BonesServer.run if __FILE__ == $0
|