Class: Restforce::DB::Initializer
- Inherits:
-
Object
- Object
- Restforce::DB::Initializer
- Defined in:
- lib/restforce/db/initializer.rb
Overview
Restforce::DB::Initializer is responsible for ensuring that both systems are populated with the same records at the root level. It iterates through recently added or updated records in each system for a mapping, and creates a matching record in the other system, when necessary.
Instance Method Summary collapse
-
#initialize(mapping, runner = Runner.new) ⇒ Initializer
constructor
Public: Initialize a Restforce::DB::Initializer.
-
#run ⇒ Object
Public: Run the initialization loop for this mapping.
Constructor Details
#initialize(mapping, runner = Runner.new) ⇒ Initializer
Public: Initialize a Restforce::DB::Initializer.
mapping - A Restforce::DB::Mapping. runner - A Restforce::DB::Runner.
15 16 17 18 19 |
# File 'lib/restforce/db/initializer.rb', line 15 def initialize(mapping, runner = Runner.new) @mapping = mapping @strategy = mapping.strategy @runner = runner end |
Instance Method Details
#run ⇒ Object
Public: Run the initialization loop for this mapping.
Returns nothing.
24 25 26 27 28 29 30 31 |
# File 'lib/restforce/db/initializer.rb', line 24 def run return if @strategy.passive? @runner.run(@mapping) do |run| run.salesforce_instances.each { |instance| create_in_database(instance) } run.database_instances.each { |instance| create_in_salesforce(instance) } end end |