RubyApp 0.0.69 → 0.0.70

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,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- RubyApp (0.0.69)
4
+ RubyApp (0.0.70)
5
5
  BlueCloth
6
6
  chronic
7
7
  chronic_duration
@@ -3,7 +3,7 @@
3
3
  %span.link{attributes}
4
4
  - if self.current_page?
5
5
  %span.current{:href => '', :page => self.page}
6
- = self.content_for(self.page) || self.page.translate.title
6
+ = yield(self.page) || self.page.translate.title
7
7
  - else
8
8
  %a.page{:href => '', :page => self.page}
9
- = self.content_for(self.page) || self.page.translate.title
9
+ = yield(self.page) || self.page.translate.title
@@ -1,7 +1,6 @@
1
1
  require 'rubygems'
2
2
  require 'bundler/setup'
3
3
 
4
- require 'facets/string/interpolate'
5
4
  require 'haml'
6
5
 
7
6
  module RubyApp
@@ -9,28 +8,17 @@ module RubyApp
9
8
  module Mixins
10
9
 
11
10
  module RenderMixin
11
+ require 'ruby_app/request'
12
12
 
13
13
  def rendered?(template)
14
- unless ( Thread.current[:_rendered] ||= {} ).key?(template)
14
+ unless RubyApp::Request.rendered?(template)
15
15
  yield
16
- Thread.current[:_rendered][template] = ( Thread.current[:_rendered][template] || 0 ) + 1
16
+ RubyApp::Request.rendered(template)
17
17
  end
18
18
  end
19
19
 
20
20
  def content_for(name, value = nil, &block)
21
- ( @_content ||= {} )[Thread.current] ||= {}
22
- if block_given?
23
- @_content[Thread.current][name] = block
24
- elsif value
25
- @_content[Thread.current][name] = String.interpolate { value }
26
- else
27
- @_content[Thread.current][name]
28
- end
29
- end
30
-
31
- def clear_content_for
32
- ( @_content ||= {} )[Thread.current] ||= {}
33
- @_content.delete(Thread.current)
21
+ RubyApp::Request.content_for(self, name, value, &block)
34
22
  end
35
23
 
36
24
  def render(format)
@@ -42,9 +30,9 @@ module RubyApp
42
30
  templates.each_with_index do |template, index|
43
31
  content = Haml::Engine.new(File.read(template), :filename => template).render(self) do |*arguments|
44
32
  if arguments.empty?
45
- index == 0 ? nil : self.content_for(templates[index - 1])
33
+ index == 0 ? nil : RubyApp::Request.get_content(self, templates[index - 1])
46
34
  else
47
- _content = self.content_for(arguments[0])
35
+ _content = RubyApp::Request.get_content(self, arguments[0])
48
36
  if self.block_is_haml?(_content)
49
37
  self.capture_haml(arguments, &_content)
50
38
  else
@@ -52,11 +40,11 @@ module RubyApp
52
40
  end
53
41
  end
54
42
  end
55
- self.content_for(template, content)
43
+ RubyApp::Request.content_for(self, template, content)
56
44
  end
57
- return self.content_for(templates.last)
45
+ return RubyApp::Request.get_content(self, templates.last)
58
46
  ensure
59
- self.clear_content_for
47
+ RubyApp::Request.clear_content(self)
60
48
  end
61
49
  end
62
50
 
@@ -1,6 +1,7 @@
1
1
  require 'rubygems'
2
2
  require 'bundler/setup'
3
3
 
4
+ require 'facets/string/interpolate'
4
5
  require 'rack'
5
6
 
6
7
  module RubyApp
@@ -26,13 +27,34 @@ module RubyApp
26
27
  self.params
27
28
  end
28
29
 
30
+ def rendered?(template)
31
+ @rendered.key?(template)
32
+ end
33
+
34
+ def rendered(template)
35
+ @rendered[template] = true
36
+ end
37
+
38
+ def content_for(element, name, value = nil, &block)
39
+ @content[element] ||= {}
40
+ @content[element][name] = block_given? ? block : String.interpolate { value }
41
+ end
42
+
43
+ def get_content(element, name)
44
+ @content[element] ||= {}
45
+ return @content[element][name]
46
+ end
47
+
48
+ def clear_content(element)
49
+ @content[element] ||= {}
50
+ end
51
+
29
52
  def self.get
30
53
  Thread.current[:_request]
31
54
  end
32
55
 
33
56
  def self.create!(environment = RubyApp::Application.environment)
34
57
  Thread.current[:_request] = RubyApp::Request.new(environment)
35
- Thread.current[:_rendered] = {}
36
58
 
37
59
  if block_given?
38
60
  begin
@@ -62,7 +84,6 @@ module RubyApp
62
84
  end
63
85
 
64
86
  def self.destroy!
65
- Thread.current[:_rendered] = nil
66
87
  Thread.current[:_request] = nil
67
88
  end
68
89
 
@@ -70,6 +91,8 @@ module RubyApp
70
91
 
71
92
  def initialize(environment)
72
93
  super(environment)
94
+ @rendered = {}
95
+ @content = {}
73
96
  end
74
97
 
75
98
  end
@@ -1,4 +1,4 @@
1
1
  module RubyApp
2
- VERSION = "0.0.69"
2
+ VERSION = "0.0.70"
3
3
  ROOT = File.expand_path(File.dirname(__FILE__))
4
4
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: RubyApp
3
3
  version: !ruby/object:Gem::Version
4
- hash: 149
4
+ hash: 147
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 69
10
- version: 0.0.69
9
+ - 70
10
+ version: 0.0.70
11
11
  platform: ruby
12
12
  authors:
13
13
  - Frank G. Ficnar
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2012-01-17 00:00:00 Z
18
+ date: 2012-01-18 00:00:00 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  prerelease: false