Class: Phlex::Rails::Buffered

Inherits:
BasicObject
Defined in:
lib/phlex/rails/buffered.rb

Instance Method Summary collapse

Constructor Details

#initialize(object, component:) ⇒ Buffered

Returns a new instance of Buffered.



5
6
7
8
# File 'lib/phlex/rails/buffered.rb', line 5

def initialize(object, component:)
	@object = object
	@component = component
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(&block) ⇒ Object



26
27
28
29
30
31
32
33
34
35
36
# File 'lib/phlex/rails/buffered.rb', line 26

def method_missing(*, **, &block)
	if block
		@component.raw(
			@object.public_send(*, **) { |*a| @component.capture(*a, &block) }
		)
	else
		@component.raw(
			@object.public_send(*, **)
		)
	end
end

Instance Method Details

#inspectObject



14
15
16
# File 'lib/phlex/rails/buffered.rb', line 14

def inspect
	"Phlex::Rails::Buffered(#{@object.inspect})"
end

#respond_to_missing?Boolean

Returns:

  • (Boolean)


22
23
24
# File 'lib/phlex/rails/buffered.rb', line 22

def respond_to_missing?(...)
	@object.respond_to?(...)
end

#unwrapObject



18
19
20
# File 'lib/phlex/rails/buffered.rb', line 18

def unwrap
	@object
end