Module: Synchronisable
- Includes:
- ActiveSupport::Configurable
- Defined in:
- lib/synchronisable.rb,
lib/synchronisable/model.rb,
lib/synchronisable/source.rb,
lib/synchronisable/context.rb,
lib/synchronisable/gateway.rb,
lib/synchronisable/version.rb,
lib/synchronisable/dsl/macro.rb,
lib/synchronisable/controller.rb,
lib/synchronisable/exceptions.rb,
lib/synchronisable/worker/base.rb,
lib/synchronisable/input_parser.rb,
lib/synchronisable/synchronizer.rb,
lib/synchronisable/error_handler.rb,
lib/synchronisable/model/methods.rb,
lib/synchronisable/models/import.rb,
lib/synchronisable/worker/record.rb,
lib/synchronisable/helper/logging.rb,
lib/synchronisable/attribute_mapper.rb,
lib/synchronisable/dsl/associations.rb,
lib/synchronisable/dsl/macro/method.rb,
lib/synchronisable/input_descriptor.rb,
lib/synchronisable/dsl/macro/attribute.rb,
lib/synchronisable/worker/associations.rb,
lib/synchronisable/dsl/macro/expression.rb,
lib/synchronisable/dsl/associations/has_one.rb,
lib/synchronisable/dsl/associations/has_many.rb,
lib/synchronisable/dsl/associations/belongs_to.rb,
lib/generators/synchronisable/install_generator.rb,
lib/synchronisable/dsl/associations/association.rb,
lib/synchronisable/synchronizers/synchronizer_default.rb
Defined Under Namespace
Modules: DSL, Helper, Model, VERSION, Worker
Classes: AttributeMapper, Context, Controller, ErrorHandler, Gateway, Import, InputDescriptor, InputParser, InstallGenerator, MissedAssociationsError, MissedRemoteIdError, Source, Synchronizer, SynchronizerDefault
Class Method Summary
collapse
Class Method Details
.default_models ⇒ Object
70
71
72
|
# File 'lib/synchronisable.rb', line 70
def self.default_models
models.map(&:safe_constantize).compact
end
|
.find_models ⇒ Object
74
75
76
77
78
|
# File 'lib/synchronisable.rb', line 74
def self.find_models
ActiveRecord::Base.descendants.select do |model|
model.included_modules.include?(Synchronisable::Model)
end
end
|
.source_models(models) ⇒ Object
65
66
67
68
|
# File 'lib/synchronisable.rb', line 65
def self.source_models(models)
source = models.present? ? models : default_models
source = source.present? ? source : find_models
end
|
Syncs models that is defined in #models
58
59
60
61
|
# File 'lib/synchronisable.rb', line 58
def self.sync(*models)
source = source_models(models)
source.map(&:sync)
end
|