Sha256: 2217d21d451aa53d810b3456cdac34568d0521c8ae07b9abdde8b3f8c78b92ae

Contents?: true

Size: 919 Bytes

Versions: 27

Compression:

Stored size: 919 Bytes

Contents

# frozen_string_literal: true

module Plutonium
  module UI
    module Component
      module Behaviour
        extend ActiveSupport::Concern
        include Methods
        include Kit

        if Rails.env.development?
          def around_template(&)
            comment { "open:#{self.class.name}" }
            super
            comment { "close:#{self.class.name}" }
          end
        end

        protected

        def phlexi_render(arg, &)
          return unless arg
          raise ArgumentError, "phlexi_render requires a default render block" unless block_given?

          # Handle Phlex components or Rails Renderables
          if arg.class < Phlex::SGML || arg.respond_to?(:render_in)
            render arg
          # Handle procs
          elsif arg.respond_to?(:to_proc)
            instance_exec(&arg)
          else
            yield arg
          end
        end
      end
    end
  end
end

Version data entries

27 entries across 27 versions & 1 rubygems

Version Path
plutonium-0.20.4 lib/plutonium/ui/component/behaviour.rb
plutonium-0.20.3 lib/plutonium/ui/component/behaviour.rb
plutonium-0.20.1 lib/plutonium/ui/component/behaviour.rb
plutonium-0.20.0 lib/plutonium/ui/component/behaviour.rb
plutonium-0.19.13 lib/plutonium/ui/component/behaviour.rb
plutonium-0.19.12 lib/plutonium/ui/component/behaviour.rb
plutonium-0.19.11 lib/plutonium/ui/component/behaviour.rb
plutonium-0.19.10 lib/plutonium/ui/component/behaviour.rb
plutonium-0.19.9 lib/plutonium/ui/component/behaviour.rb
plutonium-0.19.8 lib/plutonium/ui/component/behaviour.rb
plutonium-0.19.7 lib/plutonium/ui/component/behaviour.rb
plutonium-0.19.6 lib/plutonium/ui/component/behaviour.rb
plutonium-0.19.5 lib/plutonium/ui/component/behaviour.rb
plutonium-0.19.4 lib/plutonium/ui/component/behaviour.rb
plutonium-0.19.3 lib/plutonium/ui/component/behaviour.rb
plutonium-0.19.2 lib/plutonium/ui/component/behaviour.rb
plutonium-0.19.1 lib/plutonium/ui/component/behaviour.rb
plutonium-0.19.0 lib/plutonium/ui/component/behaviour.rb
plutonium-0.18.8 lib/plutonium/ui/component/behaviour.rb
plutonium-0.18.7 lib/plutonium/ui/component/behaviour.rb