Sha256: cce2885b157db724569e07668d57d034ec88f345035bc796f4efe388f070af46

Contents?: true

Size: 709 Bytes

Versions: 24

Compression:

Stored size: 709 Bytes

Contents

# frozen_string_literal: true

module ActionView
  class Template
    # = Action View Renderable Template for objects that respond to #render_in
    class Renderable # :nodoc:
      def initialize(renderable)
        @renderable = renderable
      end

      def identifier
        @renderable.class.name
      end

      def render(context, *args)
        @renderable.render_in(context)
      rescue NoMethodError
        if !@renderable.respond_to?(:render_in)
          raise ArgumentError, "'#{@renderable.inspect}' is not a renderable object. It must implement #render_in."
        else
          raise
        end
      end

      def format
        @renderable.try(:format)
      end
    end
  end
end

Version data entries

24 entries across 24 versions & 2 rubygems

Version Path
actionview-8.0.2 lib/action_view/template/renderable.rb
actionview-8.0.1 lib/action_view/template/renderable.rb
actionview-8.0.0.1 lib/action_view/template/renderable.rb
actionview-7.2.2.1 lib/action_view/template/renderable.rb
actionview-8.0.0 lib/action_view/template/renderable.rb
actionview-7.2.2 lib/action_view/template/renderable.rb
actionview-8.0.0.rc2 lib/action_view/template/renderable.rb
actionview-7.2.1.2 lib/action_view/template/renderable.rb
actionview-8.0.0.rc1 lib/action_view/template/renderable.rb
actionview-7.2.1.1 lib/action_view/template/renderable.rb
actionview-8.0.0.beta1 lib/action_view/template/renderable.rb
omg-actionview-8.0.0.alpha9 lib/action_view/template/renderable.rb
omg-actionview-8.0.0.alpha8 lib/action_view/template/renderable.rb
omg-actionview-8.0.0.alpha7 lib/action_view/template/renderable.rb
omg-actionview-8.0.0.alpha4 lib/action_view/template/renderable.rb
omg-actionview-8.0.0.alpha3 lib/action_view/template/renderable.rb
omg-actionview-8.0.0.alpha2 lib/action_view/template/renderable.rb
omg-actionview-8.0.0.alpha1 lib/action_view/template/renderable.rb
actionview-7.2.1 lib/action_view/template/renderable.rb
actionview-7.2.0 lib/action_view/template/renderable.rb