hanami-view 1.0.1 → 1.1.0.beta1
Sign up to get free protection for your applications and to get access to all the features.
- 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
|