Module: Toys::Mixin::ModuleMethods

Defined in:
lib/toys/mixin.rb

Overview

Methods that will be added to a mixin module object.

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#inclusion=(value) ⇒ Proc

The inclusion proc for this mixin. This block is evaluated in the tool class immediately after the mixin is included, and is passed any arguments provided to the include directive.

You can also set the inclusion proc by passing a block to #on_include.

Returns:

  • (Proc)

    The inclusion procedure for this mixin.



148
149
150
# File 'lib/toys/mixin.rb', line 148

def inclusion=(value)
  @inclusion = value
end

#initializer=(value) ⇒ Proc

The initializer proc for this mixin. This proc is evaluated in the runtime context before execution, and is passed any arguments provided to the include directive. It can perform any runtime initialization needed by the mixin.

You can also set the initializer proc by passing a block to #on_initialize.

Returns:

  • (Proc)

    The initializer for this mixin.



124
125
126
# File 'lib/toys/mixin.rb', line 124

def initializer=(value)
  @initializer = value
end

Instance Method Details

#on_include(&block) ⇒ self

Set an inclusion proc for this mixin. This block is evaluated in the tool class immediately after the mixin is included, and is passed any arguments provided to the include directive.

Parameters:

  • block (Proc)

    Sets the inclusion proc.

Returns:

  • (self)


134
135
136
137
# File 'lib/toys/mixin.rb', line 134

def on_include(&block)
  self.inclusion = block
  self
end

#on_initialize(&block) ⇒ self

Set the initializer for this mixin. This block is evaluated in the runtime context before execution, and is passed any arguments provided to the include directive. It can perform any runtime initialization needed by the mixin.

Parameters:

  • block (Proc)

    Sets the initializer proc.

Returns:

  • (self)


108
109
110
111
# File 'lib/toys/mixin.rb', line 108

def on_initialize(&block)
  self.initializer = block
  self
end