class Ribbon::Intercom::Utils::MethodChain

Public Class Methods

begin(&block) click to toggle source
# File lib/ribbon/intercom/utils/method_chain.rb, line 5
def begin(&block)
  new(&block)
end
new(&block) click to toggle source
# File lib/ribbon/intercom/utils/method_chain.rb, line 18
def initialize(&block)
  @_end_block = block
end

Public Instance Methods

end() click to toggle source
# File lib/ribbon/intercom/utils/method_chain.rb, line 22
def end
  @_end_block.call(@_methods)
end
unknown() click to toggle source

Need to override all public instance methods so they can be captured correctly.

# File lib/ribbon/intercom/utils/method_chain.rb, line 12
public_instance_methods.each { |meth|
  define_method(meth) { |*args|
    _add_method(meth, *args)

Private Instance Methods

_add_method(meth, *args) click to toggle source
# File lib/ribbon/intercom/utils/method_chain.rb, line 32
def _add_method(meth, *args)
  (@_methods ||= []) << [meth, *args]
  self
end
method_missing(meth, *args, &block) click to toggle source
# File lib/ribbon/intercom/utils/method_chain.rb, line 28
def method_missing(meth, *args, &block)
  _add_method(meth, *args)
end