Module: Evolvable::Gene

Included in:
CountGene, RigidCountGene
Defined in:
lib/evolvable/gene.rb

Overview

Defined Under Namespace

Modules: ClassMethods

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#evolvableEvolvable

The evolvable instance that this gene belongs to. Used for accessing other genes or evolvable properties.

Returns:

  • (Evolvable)

    The evolvable instance this gene is part of



152
153
154
# File 'lib/evolvable/gene.rb', line 152

def evolvable
  @evolvable
end

Class Method Details

.included(base) ⇒ Object

When included in a class, extends the class with ClassMethods. Gene classes should include this module to participate in the evolutionary process.

Parameters:

  • base (Class)

    The class that includes the Gene module



103
104
105
# File 'lib/evolvable/gene.rb', line 103

def self.included(base)
  base.extend(ClassMethods)
end

Instance Method Details

#keySymbol

Returns the unique key for this gene instance. Delegates to the class-level key.

Returns:

  • (Symbol)

    The key that identifies this gene type



160
161
162
# File 'lib/evolvable/gene.rb', line 160

def key
  self.class.key
end