rack-reshow 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/VERSION +1 -1
- data/lib/rack/reshow.rb +25 -23
- metadata +2 -2
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.2.
|
1
|
+
0.2.2
|
data/lib/rack/reshow.rb
CHANGED
@@ -116,32 +116,34 @@ module Rack
|
|
116
116
|
status, headers, body = @app.call(env)
|
117
117
|
if status == 200 and body.respond_to? :join
|
118
118
|
body = body.join
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
store
|
123
|
-
|
124
|
-
|
125
|
-
# Insert Reshow assets
|
126
|
-
page.append_to_tag '</head>', [style, javascript].join("\n")
|
127
|
-
# Prepare for Reshow bar
|
128
|
-
@store.transaction(true) do |store|
|
129
|
-
page.body = %q{<div id="__reshow_bodies__"></div>}
|
130
|
-
store[path].reverse.each do |p|
|
131
|
-
page.prepend_to_tag '<div id="__reshow_bodies__">', Page.tag(:div, p.body, :class => '__reshow_body__')
|
119
|
+
if body[/<head>.*?<\/head>/] and body[/<body>.*?<\/body>/]
|
120
|
+
page = Page.new body, path, @app
|
121
|
+
# Store response
|
122
|
+
@store.transaction do |store|
|
123
|
+
store[path] ||= []
|
124
|
+
store[path] << page unless body.nil? or store[path].last.eql?(page)
|
132
125
|
end
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
126
|
+
# Insert Reshow assets
|
127
|
+
page.append_to_tag '</head>', [style, javascript].join("\n")
|
128
|
+
# Prepare for Reshow bar
|
129
|
+
@store.transaction(true) do |store|
|
130
|
+
page.body = %q{<div id="__reshow_bodies__"></div>}
|
131
|
+
store[path].reverse.each do |p|
|
132
|
+
page.prepend_to_tag '<div id="__reshow_bodies__">', Page.tag(:div, p.body, :class => '__reshow_body__')
|
133
|
+
end
|
134
|
+
versions = store[path].count
|
135
|
+
# Insert Reshow Bar
|
136
|
+
page.append_to_tag '</body>', toolbar(versions)
|
137
|
+
# Insert versioned stylesheets
|
138
|
+
versions.times do |v|
|
139
|
+
escaped_path = Rack::Utils.escape(path)
|
140
|
+
href = "/__reshow__/assets?path=#{escaped_path}&version=#{v}"
|
141
|
+
page.append_to_tag '</head>', "<link charset='utf-8' href='#{href}' rel='stylesheet' type='text/css'>"
|
142
|
+
end
|
141
143
|
end
|
144
|
+
headers['Content-Length'] = page.length.to_s
|
145
|
+
body = [page.to_s]
|
142
146
|
end
|
143
|
-
headers['Content-Length'] = page.length.to_s
|
144
|
-
body = [page.to_s]
|
145
147
|
end
|
146
148
|
[status, headers, body]
|
147
149
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rack-reshow
|
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
|
- ecin
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2010-01-
|
12
|
+
date: 2010-01-16 00:00:00 -04:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|