hanami-view 1.0.1 → 1.1.0.beta1
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/hanami-view.gemspec +1 -1
- data/lib/hanami/view/configuration.rb +1 -1
- data/lib/hanami/view/errors.rb +5 -5
- data/lib/hanami/view/rendering/layout_finder.rb +1 -1
- data/lib/hanami/view/rendering/layout_scope.rb +10 -8
- data/lib/hanami/view/rendering/template_name.rb +1 -1
- data/lib/hanami/view/version.rb +1 -1
- metadata +8 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: '0499a5ecaa4e50c44d7e759ea91747b42332a13c'
|
4
|
+
data.tar.gz: '066865e74b723cea4e703accc5ea1e45ad76e7ff'
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d161a7bac58d23014c570372f456555ad993f5a191e024f4f50a925771bc53ca8181c8d6a3aa1884a1ead62b3b00e0e70a60bbee50319358896b1e9d0638c7e8
|
7
|
+
data.tar.gz: 46ee3fde97ffa129632ad10209aab687e08b72571a565b4bd384f17c9c1bccc9234e6231b674725090bfc95e94f532492beba5eeebe43c9130c877a74215e83a
|
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,10 @@
|
|
1
1
|
# Hanami::View
|
2
2
|
View layer for Hanami
|
3
3
|
|
4
|
+
## v1.1.0.beta1 - 2017-08-11
|
5
|
+
### Fixed
|
6
|
+
- [yjukaku] Raise `Hanami::View::UnknownRenderTypeError` when an argument different from `:template` or `:partial` is passed to `render`
|
7
|
+
|
4
8
|
## v1.0.1 - 2017-08-04
|
5
9
|
### Added
|
6
10
|
- [Luca Guidi] Compatibility with `haml` 5.0
|
data/hanami-view.gemspec
CHANGED
@@ -20,7 +20,7 @@ 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', '
|
23
|
+
spec.add_runtime_dependency 'hanami-utils', '1.1.0.beta1'
|
24
24
|
|
25
25
|
spec.add_development_dependency 'bundler', '~> 1.5'
|
26
26
|
spec.add_development_dependency 'rspec', '~> 3.5'
|
@@ -91,7 +91,7 @@ module Hanami
|
|
91
91
|
# # => will return from MyApp::View
|
92
92
|
def self.for(base)
|
93
93
|
# TODO this implementation is similar to Hanami::Controller::Configuration consider to extract it into Hanami::Utils
|
94
|
-
namespace = Utils::String.
|
94
|
+
namespace = Utils::String.namespace(base)
|
95
95
|
framework = Utils::Class.load_from_pattern!("(#{namespace}|Hanami)::View")
|
96
96
|
framework.configuration
|
97
97
|
end
|
data/lib/hanami/view/errors.rb
CHANGED
@@ -48,13 +48,13 @@ module Hanami
|
|
48
48
|
end
|
49
49
|
end
|
50
50
|
|
51
|
-
# Unknown or
|
51
|
+
# Unknown or render type
|
52
52
|
#
|
53
|
-
# This is raised at the runtime when Hanami::Layout doesn't recognize the render type.
|
53
|
+
# This is raised at the runtime when `Hanami::Layout` doesn't recognize the render type.
|
54
54
|
#
|
55
|
-
# @since
|
56
|
-
class
|
57
|
-
# @since
|
55
|
+
# @since 1.1.0
|
56
|
+
class UnknownRenderTypeError < Error
|
57
|
+
# @since 1.1.0
|
58
58
|
# @api private
|
59
59
|
def initialize(known_types, supplied_options)
|
60
60
|
known_types_list = known_types.map{|t| "':#{t}'"}.join(', ')
|
@@ -65,7 +65,7 @@ module Hanami
|
|
65
65
|
case layout
|
66
66
|
when Symbol, String
|
67
67
|
# TODO Move this low level logic into a Hanami::Utils solution
|
68
|
-
class_name = "#{ Utils::String.
|
68
|
+
class_name = "#{ Utils::String.classify(layout) }#{ SUFFIX }"
|
69
69
|
namespace = Utils::Class.load_from_pattern!(namespace)
|
70
70
|
namespace.const_get(class_name)
|
71
71
|
when Class
|
@@ -4,13 +4,13 @@ require 'hanami/utils/escape'
|
|
4
4
|
module Hanami
|
5
5
|
module View
|
6
6
|
module Rendering
|
7
|
-
|
8
|
-
# List of render types that exactly one of must be included when calling `#render`.
|
7
|
+
# List of render types that exactly one of must be included when calling `#render`.
|
9
8
|
# For example, when calling `<%= render something: 'my_thing', locals: {} %>`,
|
10
9
|
# 'something' must be one of the values listed here.
|
11
|
-
#
|
12
|
-
# @since
|
13
|
-
|
10
|
+
#
|
11
|
+
# @since 1.1.0
|
12
|
+
# @api private
|
13
|
+
KNOWN_RENDER_TYPES = [:partial, :template].freeze
|
14
14
|
|
15
15
|
# Scope for layout rendering
|
16
16
|
#
|
@@ -60,6 +60,9 @@ module Hanami
|
|
60
60
|
#
|
61
61
|
# @return [String] the output of the rendering process
|
62
62
|
#
|
63
|
+
# @raise [Hanami::Error::UnknownRenderTypeError] if the given type to
|
64
|
+
# be rendered is unknown
|
65
|
+
#
|
63
66
|
# @since 0.1.0
|
64
67
|
#
|
65
68
|
# @example Rendering partial
|
@@ -95,9 +98,6 @@ module Hanami
|
|
95
98
|
# #
|
96
99
|
# # `user` will be available in the scope of the sidebar rendering
|
97
100
|
def render(options)
|
98
|
-
if !KNOWN_RENDER_TYPES.any?{|render_type| options[render_type]}
|
99
|
-
::Kernel.raise UnknownOrMissingRenderTypeLayoutError.new(KNOWN_RENDER_TYPES, options)
|
100
|
-
end
|
101
101
|
renderer(options).render
|
102
102
|
end
|
103
103
|
|
@@ -243,6 +243,8 @@ module Hanami
|
|
243
243
|
Rendering::Partial
|
244
244
|
elsif options[:template]
|
245
245
|
Rendering::Template
|
246
|
+
else
|
247
|
+
::Kernel.raise UnknownRenderTypeError.new(KNOWN_RENDER_TYPES, options)
|
246
248
|
end.new(view, _options(options))
|
247
249
|
end
|
248
250
|
|
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.0.
|
4
|
+
version: 1.1.0.beta1
|
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-08-
|
11
|
+
date: 2017-08-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: tilt
|
@@ -34,16 +34,16 @@ dependencies:
|
|
34
34
|
name: hanami-utils
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|
36
36
|
requirements:
|
37
|
-
- -
|
37
|
+
- - '='
|
38
38
|
- !ruby/object:Gem::Version
|
39
|
-
version:
|
39
|
+
version: 1.1.0.beta1
|
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:
|
46
|
+
version: 1.1.0.beta1
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: bundler
|
49
49
|
requirement: !ruby/object:Gem::Requirement
|
@@ -141,9 +141,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
141
141
|
version: 2.3.0
|
142
142
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
143
143
|
requirements:
|
144
|
-
- - "
|
144
|
+
- - ">"
|
145
145
|
- !ruby/object:Gem::Version
|
146
|
-
version:
|
146
|
+
version: 1.3.1
|
147
147
|
requirements: []
|
148
148
|
rubyforge_project:
|
149
149
|
rubygems_version: 2.6.11
|