lib/phlex/renderable.rb in phlex-0.2.2 vs lib/phlex/renderable.rb in phlex-0.3.0
- old
+ new
@@ -1,41 +1,41 @@
# frozen_string_literal: true
module Phlex
- module Renderable
- def render(renderable, *args, **kwargs, &block)
- if renderable.is_a?(Component)
- if block_given? && !block.binding.receiver.is_a?(Phlex::Block)
- block = Phlex::Block.new(self, &block)
- end
+ module Renderable
+ def render(renderable, *args, **kwargs, &block)
+ if renderable.is_a?(View)
+ if block_given? && !block.binding.receiver.is_a?(Phlex::Block)
+ block = Phlex::Block.new(self, &block)
+ end
- renderable.call(@_target, view_context: @_view_context, parent: self, &block)
- elsif renderable.is_a?(Class) && renderable < Component
- raise ArgumentError, "You tried to render the Phlex component class: #{renderable.name} but you probably meant to render an instance of that class instead."
- else
- @_target << @_view_context.render(renderable, *args, **kwargs, &block)
- end
+ renderable.call(@_target, view_context: @_view_context, parent: self, &block)
+ elsif renderable.is_a?(Class) && renderable < View
+ raise ArgumentError, "You tried to render the Phlex view class: #{renderable.name} but you probably meant to render an instance of that class instead."
+ else
+ @_target << @_view_context.render(renderable, *args, **kwargs, &block)
+ end
- nil
- end
+ nil
+ end
- def render_in(view_context, &block)
- if block_given?
- call(view_context: view_context) do |*args, **kwargs|
- view_context.with_output_buffer(self) do
- original_length = @_target.length
- output = yield(*args, **kwargs)
- unchanged = (original_length == @_target.length)
+ def render_in(view_context, &block)
+ if block_given?
+ call(view_context: view_context) do |*args, **kwargs|
+ view_context.with_output_buffer(self) do
+ original_length = @_target.length
+ output = yield(*args, **kwargs)
+ unchanged = (original_length == @_target.length)
- text(output) if unchanged && output.is_a?(String)
- end
- end.html_safe
- else
- call(view_context: view_context).html_safe
- end
- end
+ text(output) if unchanged && output.is_a?(String)
+ end
+ end.html_safe
+ else
+ call(view_context: view_context).html_safe
+ end
+ end
- def format
- :html
- end
- end
+ def format
+ :html
+ end
+ end
end