scharfie-bones 0.2.6.1 → 0.2.7

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/bones/bones.rb CHANGED
@@ -64,7 +64,7 @@ class Bones
64
64
  def self.reset
65
65
  @pages_path = @layouts_path = @root = @base = nil
66
66
  end
67
-
67
+
68
68
  # Process incoming request (for real this time!)
69
69
  def call(env)
70
70
  # Grab the request
@@ -72,7 +72,8 @@ class Bones
72
72
 
73
73
  # Create a new template for the given path
74
74
  # and compile it
75
- template = Template.new(request.path_info)
75
+
76
+ template = Template.new(Template.template_for_request(request))
76
77
  template.request = request
77
78
  output = template.compile
78
79
 
data/lib/bones/cache.rb CHANGED
@@ -141,8 +141,9 @@ class Bones
141
141
  end
142
142
 
143
143
  def process_page(page)
144
- template = Bones::Template.new(page)
145
- template.request = generate_mock_request(:path_info => page)
144
+ request = generate_mock_request(page)
145
+ template = Bones::Template.new(Bones::Template.template_for_request(request))
146
+ template.request = request
146
147
  process_template(template.compile)
147
148
  end
148
149
 
@@ -184,8 +185,8 @@ class Bones
184
185
  end
185
186
  end
186
187
 
187
- def generate_mock_request(options={})
188
- OpenStruct.new(options)
188
+ def generate_mock_request(path, options={})
189
+ Rack::Request.new(Rack::MockRequest.env_for(path, options))
189
190
  end
190
191
  end
191
192
  end
data/lib/bones/proxy.rb CHANGED
@@ -16,4 +16,4 @@ class Bones
16
16
  force_load 'Bones' => File.join(File.dirname(__FILE__), '..', 'bones.rb')
17
17
  end
18
18
  end
19
- end
19
+ end
@@ -25,7 +25,11 @@ class Bones
25
25
  include klass.constantize
26
26
  end
27
27
  end
28
-
28
+
29
+ def self.template_for_request(request)
30
+ request.path_info
31
+ end
32
+
29
33
  # Load the helpers
30
34
  include_helpers if Bones.booted?
31
35
 
@@ -73,19 +77,22 @@ class Bones
73
77
  @layout
74
78
  end
75
79
 
76
- # Compiles the template (along with the layout
77
- # if necessary)
78
- def compile
79
- # go away, favicon requests
80
- return String.new if File.basename(filename) =~ /^favicon.ico/
81
-
80
+ def source
82
81
  unless File.exist?(filename)
83
82
  raise "Template missing\n#{filename}"
84
83
  end
85
84
 
86
85
  src = ERB.new(File.read(filename)).src
87
86
  src = (local_assigns_source || '') + (src || '')
88
- @content_for_layout = eval(src)
87
+ end
88
+
89
+ # Compiles the template (along with the layout
90
+ # if necessary)
91
+ def compile
92
+ # go away, favicon requests
93
+ return String.new if File.basename(filename) =~ /^favicon.ico/
94
+
95
+ @content_for_layout = eval(source)
89
96
 
90
97
  if layout && File.file?(layout_filename)
91
98
  erb = ERB.new(File.read(layout_filename))
@@ -126,4 +133,4 @@ class Bones
126
133
  template.compile
127
134
  end
128
135
  end
129
- end
136
+ end
data/lib/tasks/bones.rb CHANGED
@@ -1,5 +1,4 @@
1
- require File.join(File.dirname(__FILE__), '../bones.rb')
2
-
1
+ # require File.join(File.dirname(__FILE__), '../bones.rb')
3
2
  task :default => :server
4
3
 
5
4
  desc "Start bones server"
data/pushables/boot.rb CHANGED
@@ -4,6 +4,7 @@ if File.file?(vendor_bones)
4
4
  require vendor_bones
5
5
  else
6
6
  require 'rubygems'
7
+ gem 'scharfie-bones', '0.2.7'
7
8
  require 'bones'
8
9
  end
9
10
 
data/pushables/config.ru CHANGED
@@ -2,4 +2,4 @@ require File.join(File.dirname(__FILE__), 'boot.rb')
2
2
  use Rack::CommonLogger
3
3
  use Rack::ShowExceptions
4
4
  use Bones::Static
5
- run Bones::Proxy.new
5
+ run Bones.new
@@ -1,7 +1,7 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = "scharfie-bones"
3
- s.version = "0.2.6.1"
4
- s.date = "2011-02-15"
3
+ s.version = "0.2.7"
4
+ s.date = "2011-02-21"
5
5
  s.authors = ["Chris Scharf", "Ryan Heath"]
6
6
  s.email = "scharfie@gmail.com"
7
7
 
@@ -3,10 +3,22 @@ require File.dirname(__FILE__) + '/test_helper'
3
3
  context "Bones Template" do
4
4
  uses_example_site
5
5
 
6
+ def mock_request_for(path, options={})
7
+ Rack::Request.new(Rack::MockRequest.env_for(path, options))
8
+ end
9
+
6
10
  setup do
7
11
  @template = Bones::Template.new('')
8
12
  end
9
13
 
14
+ test ".template_for_request" do
15
+ @request = mock_request_for("/about-something")
16
+ assert_include Bones::Template.template_for_request(@request), 'about-something'
17
+
18
+ @request = mock_request_for('/things/whatever')
19
+ assert_include Bones::Template.template_for_request(@request), 'things/whatever'
20
+ end
21
+
10
22
  test "should return proper filename for top-level files" do
11
23
  @template.path = 'about'
12
24
  assert_include @template.filename, '/about.html.erb'
@@ -71,4 +83,4 @@ context "Bones template 'about'" do
71
83
 
72
84
  assert 'Chris', @template.instance_variable_get(:@content_for_name)
73
85
  end
74
- end
86
+ end
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: scharfie-bones
3
3
  version: !ruby/object:Gem::Version
4
- hash: 69
4
+ hash: 25
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 2
9
- - 6
10
- - 1
11
- version: 0.2.6.1
9
+ - 7
10
+ version: 0.2.7
12
11
  platform: ruby
13
12
  authors:
14
13
  - Chris Scharf
@@ -17,7 +16,7 @@ autorequire:
17
16
  bindir: bin
18
17
  cert_chain: []
19
18
 
20
- date: 2011-02-15 00:00:00 -05:00
19
+ date: 2011-02-21 00:00:00 -05:00
21
20
  default_executable: bones
22
21
  dependencies:
23
22
  - !ruby/object:Gem::Dependency