Skip to content

Instantly share code, notes, and snippets.

@colinsurprenant
Created October 19, 2010 14:48
Show Gist options
  • Save colinsurprenant/634310 to your computer and use it in GitHub Desktop.
Save colinsurprenant/634310 to your computer and use it in GitHub Desktop.
object transformation using migrators with Ruby inject idiom
class SomeMigrator
def migrator
lambda do |some_object|
{:previous_object => some_object}
end
end
end
migrators = [SomeMigrator.new.migrator, SomeMigrator.new.migrator]
original_object = "original object"
migrated_object = migrators.inject(original_object){|result, migrator| migrator.call(result)}
puts(migrated_object.inspect)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment