Module: Origin::Forwardable

Defined in:
lib/origin/forwardable.rb

Overview

Allows for easy delegation of origin queryable instance methods to a specific method.

Instance Method Summary collapse

Instance Method Details

#select_with(receiver) ⇒ Array<Symbol>

Tells origin with method on the class to delegate to when calling an original selectable or optional method on the class.

Examples:

Tell origin where to select from.

class Band
  extend Origin::Forwardable
  select_with :criteria

  def self.criteria
    Query.new
  end
end

Parameters:

  • receiver (Symbol)

    The name of the receiver method.

Returns:

  • (Array<Symbol>)

    The names of the forwarded methods.

Since:

  • 1.0.0



26
27
28
29
30
# File 'lib/origin/forwardable.rb', line 26

def select_with(receiver)
  (Selectable.forwardables + Optional.forwardables).each do |name|
    __forward__(name, receiver)
  end
end