Skip to content

Commit

Permalink
Make it easier to dump and load genomes and use custom serializers
Browse files Browse the repository at this point in the history
  • Loading branch information
Matt Ruzicka committed Jan 22, 2022
1 parent 7ae1087 commit 9861d69
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 4 deletions.
8 changes: 8 additions & 0 deletions lib/evolvable.rb
Original file line number Diff line number Diff line change
Expand Up @@ -230,4 +230,12 @@ def population_index
:find_genes,
:find_genes_count,
:genes

def dump_genome(serializer: Serializer)
@genome.dump(serializer: serializer)
end

def load_genome(data, serializer: Serializer)
@genome = Genome.load(data, serializer: serializer)
end
end
8 changes: 4 additions & 4 deletions lib/evolvable/genome.rb
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ module Evolvable
class Genome
extend Forwardable

def self.load(data)
new(config: Serializer.load(data))
def self.load(data, serializer: Serializer)
new(config: serializer.load(data))
end

def initialize(config: {})
Expand Down Expand Up @@ -79,8 +79,8 @@ def inspect
self.class.name
end

def dump
Serializer.dump @config
def dump(serializer: Serializer)
serializer.dump @config
end
end
end

0 comments on commit 9861d69

Please # to comment.