wouter-views 0.0.6 → 0.0.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: be0c1bb95a2a0337096d8dd3a994aca43acec2925a01f36ba641ff970de1fc2a
4
- data.tar.gz: 6fb50affbcfbc9407e28ae2b370f0dc1a7364c2f698388dd84ba1c313bf67900
3
+ metadata.gz: 1b356aaa50ae723d845020d7dadfc95464e03dddedeb5ef04a09992cf9c56e56
4
+ data.tar.gz: 88ceeb64f8f33e41abc7075ce59daaa15ab11ed401c541f6caa9242d0d0d8a61
5
5
  SHA512:
6
- metadata.gz: 6fd17ccec819e35eba5321866bbf6e11b172c9df7ba18cb4599b17d377c4f8f7882ae0ae7a03950aaf94bcd4e225183c93cafbef2af862040d28b997bd828b38
7
- data.tar.gz: 62e84aed27143cc707a5581123fdcab56f36c242ae48345b3b58ee04e48066f374880ef9210383fef43c22e72dc59945d174991432f5c2bf64d7a1ab209a447f
6
+ metadata.gz: d0f52189c54044d9cbcf9a887ca7a967faefd3a7a3b4102f2822a88788b8477cd1394c5a65d5f5c745cbb980109df18c88f53e062d29b63f8b193e261bde3eae
7
+ data.tar.gz: c870c1ac14931cbd385660ddce16c3dbe36c6264ab4cf246c1b7ae583791e8edd510b1a10631cf769a1541285e7dfacb203fed5321edb29029ccba13317ea320
data/lib/wouter/views.rb CHANGED
@@ -36,11 +36,7 @@ class Wouter
36
36
  end
37
37
 
38
38
  def render_view(template, engine: nil, dir: nil)
39
- lambda { |env|
40
- response = Rack::Response.new
41
- response.write render_template(template, self, engine, dir)
42
- response.finish
43
- }
39
+ ViewWrap.new(template, engine, dir)
44
40
  end
45
41
 
46
42
  def view_dir(dir = nil)
@@ -54,6 +50,34 @@ class Wouter
54
50
  end
55
51
  end
56
52
 
53
+ class ViewEndpoint < Wouter::Endpoint
54
+ def initialize(req, res)
55
+ @view = req.env['wouter.view']
56
+ super(req, res)
57
+ end
58
+
59
+ def respond
60
+ render_view(@view[:template], engine: @view[:engine], dir: @view[:dir])
61
+ end
62
+ end
63
+
64
+ class ViewWrap
65
+ def initialize(template, engine = nil, dir = nil)
66
+ @template = template
67
+ @engine = engine
68
+ @dir = dir
69
+ end
70
+
71
+ def call(env)
72
+ env['wouter.view'] = {
73
+ template: @template,
74
+ engine: @engine,
75
+ dir: @dir
76
+ }
77
+ ViewEndpoint.call(env)
78
+ end
79
+ end
80
+
57
81
  class Endpoint
58
82
  def render_view(template, engine: nil, dir: nil)
59
83
  engine ||= config[:view_engine]
data/wouter-views.gemspec CHANGED
@@ -3,7 +3,7 @@
3
3
  Gem::Specification.new do |s|
4
4
  s.name = 'wouter-views'
5
5
  s.platform = Gem::Platform::RUBY
6
- s.version = '0.0.6'
6
+ s.version = '0.0.7'
7
7
  s.summary = 'View template support for Wouter web framework.'
8
8
  s.description = 'Adds view template support to the Wouter web framework.'
9
9
  s.authors = ['Robert Peterson']
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wouter-views
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Robert Peterson
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-11-20 00:00:00.000000000 Z
11
+ date: 2018-11-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: wouter