hanami-view 1.1.0.beta1 → 1.1.0.beta2
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 +4 -4
- data/CHANGELOG.md +4 -0
- data/README.md +1 -1
- data/hanami-view.gemspec +3 -3
- data/lib/hanami/layout.rb +21 -0
- data/lib/hanami/view/rendering.rb +1 -1
- data/lib/hanami/view/rendering/layout_scope.rb +1 -1
- data/lib/hanami/view/version.rb +1 -1
- metadata +9 -9
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 4d032047b20bfbb2f94b4e3b240b104eefacbc96
|
|
4
|
+
data.tar.gz: 82a0620d7476e1b902f0809aeddcb56fa8a166fb
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: b69efa59299edd8d6b7f1f04e8c02dfccdd5a827eebc2177a3d8f664d393628bb083332fbcabc45e092485bb6eec85497047366a2222a556a6f0c8d493c3c66f
|
|
7
|
+
data.tar.gz: aca27fde85cb51a9486266e2c904c20e7544eea18f1077529b6aa63f4ec8620ad1c4e31efee198cbd295f10cd88ce6dbebb09a7f53780781455a53ce012ef517
|
data/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
# Hanami::View
|
|
2
2
|
View layer for Hanami
|
|
3
3
|
|
|
4
|
+
## v1.1.0.beta2 - 2017-10-03
|
|
5
|
+
### Added
|
|
6
|
+
- [Luca Guidi] Added `Hanami::Layout#local` to safely access locals from layouts
|
|
7
|
+
|
|
4
8
|
## v1.1.0.beta1 - 2017-08-11
|
|
5
9
|
### Fixed
|
|
6
10
|
- [yjukaku] Raise `Hanami::View::UnknownRenderTypeError` when an argument different from `:template` or `:partial` is passed to `render`
|
data/README.md
CHANGED
|
@@ -477,7 +477,7 @@ As per convention, layout templates are located under `Hanami::View.root` or `Ap
|
|
|
477
477
|
If we want to render optional contents such as sidebar links or page specific javascripts, we can use `#local`
|
|
478
478
|
It accepts a key that represents a method that should be available within the rendering context.
|
|
479
479
|
That context is made of the locals, and the methods that view and layout respond to.
|
|
480
|
-
If the context can't dispatch that method, it returns
|
|
480
|
+
If the context can't dispatch that method, it returns a null object (`Hanami::View::Rendering::NullLocal`).
|
|
481
481
|
|
|
482
482
|
Given the following layout template.
|
|
483
483
|
|
data/hanami-view.gemspec
CHANGED
|
@@ -20,9 +20,9 @@ Gem::Specification.new do |spec|
|
|
|
20
20
|
spec.required_ruby_version = '>= 2.3.0'
|
|
21
21
|
|
|
22
22
|
spec.add_runtime_dependency 'tilt', '~> 2.0', '>= 2.0.1'
|
|
23
|
-
spec.add_runtime_dependency 'hanami-utils', '1.1.0.
|
|
23
|
+
spec.add_runtime_dependency 'hanami-utils', '1.1.0.beta2'
|
|
24
24
|
|
|
25
25
|
spec.add_development_dependency 'bundler', '~> 1.5'
|
|
26
|
-
spec.add_development_dependency 'rspec', '~> 3.
|
|
27
|
-
spec.add_development_dependency 'rake', '~>
|
|
26
|
+
spec.add_development_dependency 'rspec', '~> 3.6'
|
|
27
|
+
spec.add_development_dependency 'rake', '~> 12'
|
|
28
28
|
end
|
data/lib/hanami/layout.rb
CHANGED
|
@@ -139,6 +139,27 @@ module Hanami
|
|
|
139
139
|
template.render(@scope, &Proc.new{@rendered})
|
|
140
140
|
end
|
|
141
141
|
|
|
142
|
+
# It tries to invoke a method for the view or a local for the given key.
|
|
143
|
+
# If the lookup fails, it returns a null object.
|
|
144
|
+
#
|
|
145
|
+
# @return [Object,Hanami::View::Rendering::NullLocal] the returning value
|
|
146
|
+
#
|
|
147
|
+
# @since 1.1.0
|
|
148
|
+
#
|
|
149
|
+
# @example Safe method navigation
|
|
150
|
+
# class ApplicationLayout
|
|
151
|
+
# include Hanami::Layout
|
|
152
|
+
#
|
|
153
|
+
# def render_flash
|
|
154
|
+
# return if local(:flash).nil?
|
|
155
|
+
#
|
|
156
|
+
# # ...
|
|
157
|
+
# end
|
|
158
|
+
# end
|
|
159
|
+
def local(key)
|
|
160
|
+
@scope.local(key)
|
|
161
|
+
end
|
|
162
|
+
|
|
142
163
|
protected
|
|
143
164
|
# The template for the current format
|
|
144
165
|
#
|
|
@@ -110,7 +110,7 @@ module Hanami
|
|
|
110
110
|
# It tries to invoke a method for the view or a local for the given key.
|
|
111
111
|
# If the lookup fails, it returns a null object.
|
|
112
112
|
#
|
|
113
|
-
# @return [
|
|
113
|
+
# @return [Object,Hanami::View::Rendering::NullLocal] the returning value
|
|
114
114
|
#
|
|
115
115
|
# @since 0.7.0
|
|
116
116
|
#
|
|
@@ -131,7 +131,7 @@ module Hanami
|
|
|
131
131
|
# It tries to invoke a method for the view or a local for the given key.
|
|
132
132
|
# If the lookup fails, it returns a null object.
|
|
133
133
|
#
|
|
134
|
-
# @return [
|
|
134
|
+
# @return [Object,Hanami::View::Rendering::NullLocal] the returning value
|
|
135
135
|
#
|
|
136
136
|
# @since 0.7.0
|
|
137
137
|
#
|
data/lib/hanami/view/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: hanami-view
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.1.0.
|
|
4
|
+
version: 1.1.0.beta2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Luca Guidi
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2017-
|
|
11
|
+
date: 2017-10-03 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: tilt
|
|
@@ -36,14 +36,14 @@ dependencies:
|
|
|
36
36
|
requirements:
|
|
37
37
|
- - '='
|
|
38
38
|
- !ruby/object:Gem::Version
|
|
39
|
-
version: 1.1.0.
|
|
39
|
+
version: 1.1.0.beta2
|
|
40
40
|
type: :runtime
|
|
41
41
|
prerelease: false
|
|
42
42
|
version_requirements: !ruby/object:Gem::Requirement
|
|
43
43
|
requirements:
|
|
44
44
|
- - '='
|
|
45
45
|
- !ruby/object:Gem::Version
|
|
46
|
-
version: 1.1.0.
|
|
46
|
+
version: 1.1.0.beta2
|
|
47
47
|
- !ruby/object:Gem::Dependency
|
|
48
48
|
name: bundler
|
|
49
49
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -64,28 +64,28 @@ dependencies:
|
|
|
64
64
|
requirements:
|
|
65
65
|
- - "~>"
|
|
66
66
|
- !ruby/object:Gem::Version
|
|
67
|
-
version: '3.
|
|
67
|
+
version: '3.6'
|
|
68
68
|
type: :development
|
|
69
69
|
prerelease: false
|
|
70
70
|
version_requirements: !ruby/object:Gem::Requirement
|
|
71
71
|
requirements:
|
|
72
72
|
- - "~>"
|
|
73
73
|
- !ruby/object:Gem::Version
|
|
74
|
-
version: '3.
|
|
74
|
+
version: '3.6'
|
|
75
75
|
- !ruby/object:Gem::Dependency
|
|
76
76
|
name: rake
|
|
77
77
|
requirement: !ruby/object:Gem::Requirement
|
|
78
78
|
requirements:
|
|
79
79
|
- - "~>"
|
|
80
80
|
- !ruby/object:Gem::Version
|
|
81
|
-
version: '
|
|
81
|
+
version: '12'
|
|
82
82
|
type: :development
|
|
83
83
|
prerelease: false
|
|
84
84
|
version_requirements: !ruby/object:Gem::Requirement
|
|
85
85
|
requirements:
|
|
86
86
|
- - "~>"
|
|
87
87
|
- !ruby/object:Gem::Version
|
|
88
|
-
version: '
|
|
88
|
+
version: '12'
|
|
89
89
|
description: View layer for Hanami
|
|
90
90
|
email:
|
|
91
91
|
- me@lucaguidi.com
|
|
@@ -146,7 +146,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
146
146
|
version: 1.3.1
|
|
147
147
|
requirements: []
|
|
148
148
|
rubyforge_project:
|
|
149
|
-
rubygems_version: 2.6.
|
|
149
|
+
rubygems_version: 2.6.13
|
|
150
150
|
signing_key:
|
|
151
151
|
specification_version: 4
|
|
152
152
|
summary: View layer for Hanami, with a separation between views and templates
|