dryml 1.3.0.pre11 → 1.3.0.pre12
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/VERSION +1 -1
- data/lib/dryml/extensions/action_controller/dryml_methods.rb +2 -4
- data/lib/dryml/railtie/page_tag_resolver.rb +2 -2
- data/lib/dryml.rb +22 -19
- metadata +7 -7
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.3.0.
|
1
|
+
1.3.0.pre12
|
@@ -4,6 +4,8 @@ ActionController::Base.class_eval do
|
|
4
4
|
append_view_path Dryml::Railtie::PageTagResolver.new(self)
|
5
5
|
end
|
6
6
|
|
7
|
+
attr_accessor :dryml_fallback_tag
|
8
|
+
|
7
9
|
# dryml does not use layouts
|
8
10
|
def action_has_layout?
|
9
11
|
false
|
@@ -13,10 +15,6 @@ ActionController::Base.class_eval do
|
|
13
15
|
@this
|
14
16
|
end
|
15
17
|
|
16
|
-
def dryml_fallback_tag(tag_name)
|
17
|
-
@dryml_fallback_tag = tag_name
|
18
|
-
end
|
19
|
-
|
20
18
|
def call_dryml_tag(tag, options={})
|
21
19
|
# TODO: Figure out what this bit is all about :-)
|
22
20
|
if options[:with]
|
@@ -8,10 +8,10 @@ module Dryml
|
|
8
8
|
end
|
9
9
|
|
10
10
|
def find_templates(name, prefix, partial, details)
|
11
|
-
tag_name = @dryml_fallback_tag || name.dasherize + '-page'
|
11
|
+
tag_name = @controller.dryml_fallback_tag || name.dasherize + '-page'
|
12
12
|
text = @controller.call_dryml_tag(tag_name)
|
13
13
|
return [] unless text
|
14
|
-
[ActionView::Template.new(text, "dryml-tag:#{tag_name}", Dryml::Railtie::PageTagHandler, details)]
|
14
|
+
[ActionView::Template.new(text, "dryml-page-tag:#{tag_name}", Dryml::Railtie::PageTagHandler, details)]
|
15
15
|
end
|
16
16
|
|
17
17
|
end
|
data/lib/dryml.rb
CHANGED
@@ -73,46 +73,49 @@ module Dryml
|
|
73
73
|
|
74
74
|
def empty_page_renderer(view)
|
75
75
|
controller_name = view.controller.class.name.underscore.sub(/_controller$/, "")
|
76
|
-
page_renderer(view,
|
76
|
+
page_renderer(view, "#{controller_name}/#{EMPTY_PAGE}" )
|
77
77
|
end
|
78
78
|
|
79
79
|
def call_render(view, local_assigns, identifier)
|
80
|
-
|
81
|
-
renderer = page_renderer(view, local_assigns.keys,
|
80
|
+
page_path = view.request.fullpath
|
81
|
+
renderer = page_renderer(view, page_path, local_assigns.keys, identifier)
|
82
82
|
this = view.controller.send(:dryml_context) || local_assigns[:this]
|
83
83
|
view.instance_variable_set("@this", this)
|
84
84
|
renderer.render_page(this, local_assigns).strip
|
85
85
|
end
|
86
86
|
|
87
87
|
|
88
|
-
def page_renderer(view, local_names=[],
|
89
|
-
if Rails.env.development?
|
90
|
-
clear_cache
|
91
|
-
Taglib.clear_cache
|
92
|
-
end
|
88
|
+
def page_renderer(view, page_path, local_names=[], identifier=nil)
|
93
89
|
|
94
90
|
prepare_view!(view)
|
95
|
-
included_taglibs = ([APPLICATION_TAGLIB] + application_taglibs() + [subsite_taglib(
|
96
|
-
|
97
|
-
if
|
91
|
+
included_taglibs = ([APPLICATION_TAGLIB] + application_taglibs() + [subsite_taglib(page_path)] + controller_taglibs(view.controller.class)).compact
|
92
|
+
|
93
|
+
if identifier.blank? && ! page_path.ends_with?(EMPTY_PAGE)
|
94
|
+
opt = ActionController::Routing::Routes.recognize_path(page_path)
|
95
|
+
identifier = view.view_paths.find( opt[:action],
|
96
|
+
opt[:controller],
|
97
|
+
false,
|
98
|
+
view.lookup_context.instance_variable_get('@details')).identifier
|
99
|
+
end
|
100
|
+
if page_path.ends_with?(EMPTY_PAGE) || identifier.starts_with?('dryml-page-tag:')
|
98
101
|
controller_class = view.controller.class
|
99
102
|
@tag_page_renderer_classes[controller_class.name] ||=
|
100
|
-
make_renderer_class("",
|
101
|
-
@tag_page_renderer_classes[controller_class.name].new(
|
103
|
+
make_renderer_class("", page_path, local_names, DEFAULT_IMPORTS, included_taglibs)
|
104
|
+
@tag_page_renderer_classes[controller_class.name].new(page_path, view)
|
102
105
|
else
|
103
|
-
mtime = File.mtime(
|
104
|
-
renderer_class = @renderer_classes[
|
106
|
+
mtime = File.mtime(identifier)
|
107
|
+
renderer_class = @renderer_classes[page_path]
|
105
108
|
|
106
109
|
# do we need to recompile?
|
107
110
|
if (!renderer_class || # nothing cached?
|
108
111
|
(local_names - renderer_class.compiled_local_names).any? || # any new local names?
|
109
112
|
renderer_class.load_time < mtime) # cache out of date?
|
110
|
-
renderer_class = make_renderer_class(File.read(
|
113
|
+
renderer_class = make_renderer_class(File.read(identifier), identifier, local_names,
|
111
114
|
DEFAULT_IMPORTS, included_taglibs)
|
112
115
|
renderer_class.load_time = mtime
|
113
|
-
@renderer_classes[
|
116
|
+
@renderer_classes[page_path] = renderer_class
|
114
117
|
end
|
115
|
-
renderer_class.new(
|
118
|
+
renderer_class.new(page_path, view)
|
116
119
|
end
|
117
120
|
end
|
118
121
|
|
@@ -172,7 +175,7 @@ module Dryml
|
|
172
175
|
# Not sure why this isn't done for me...
|
173
176
|
# There's probably a button to press round here somewhere
|
174
177
|
for var in %w(@flash @cookies @action_name @_session @_request @request_origin
|
175
|
-
@
|
178
|
+
@request @ignore_missing_templates @_headers @variables_added
|
176
179
|
@_flash @response @template_class
|
177
180
|
@_cookies @before_filter_chain_aborted @url
|
178
181
|
@_response @template_root @headers @_params @params @session)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dryml
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash: -
|
4
|
+
hash: -1637175961
|
5
5
|
prerelease: true
|
6
6
|
segments:
|
7
7
|
- 1
|
8
8
|
- 3
|
9
9
|
- 0
|
10
|
-
-
|
11
|
-
version: 1.3.0.
|
10
|
+
- pre12
|
11
|
+
version: 1.3.0.pre12
|
12
12
|
platform: ruby
|
13
13
|
authors:
|
14
14
|
- Tom Locke
|
@@ -16,7 +16,7 @@ autorequire:
|
|
16
16
|
bindir: bin
|
17
17
|
cert_chain: []
|
18
18
|
|
19
|
-
date: 2010-10-
|
19
|
+
date: 2010-10-14 00:00:00 -04:00
|
20
20
|
default_executable:
|
21
21
|
dependencies:
|
22
22
|
- !ruby/object:Gem::Dependency
|
@@ -43,13 +43,13 @@ dependencies:
|
|
43
43
|
requirements:
|
44
44
|
- - "="
|
45
45
|
- !ruby/object:Gem::Version
|
46
|
-
hash: -
|
46
|
+
hash: -1637175961
|
47
47
|
segments:
|
48
48
|
- 1
|
49
49
|
- 3
|
50
50
|
- 0
|
51
|
-
-
|
52
|
-
version: 1.3.0.
|
51
|
+
- pre12
|
52
|
+
version: 1.3.0.pre12
|
53
53
|
type: :runtime
|
54
54
|
version_requirements: *id002
|
55
55
|
- !ruby/object:Gem::Dependency
|