Module: Synchronisable
- Includes:
- ActiveSupport::Configurable
- Defined in:
- lib/synchronisable.rb,
lib/synchronisable/model.rb,
lib/synchronisable/source.rb,
lib/synchronisable/worker.rb,
lib/synchronisable/context.rb,
lib/synchronisable/version.rb,
lib/synchronisable/dsl/macro.rb,
lib/synchronisable/exceptions.rb,
lib/synchronisable/synchronizer.rb,
lib/synchronisable/error_handler.rb,
lib/synchronisable/model/methods.rb,
lib/synchronisable/models/import.rb,
lib/synchronisable/dsl/associations.rb,
lib/synchronisable/dsl/macro/method.rb,
lib/synchronisable/dsl/macro/attribute.rb,
lib/synchronisable/dsl/macro/expression.rb,
lib/synchronisable/dsl/associations/has_one.rb,
lib/synchronisable/dsl/associations/has_many.rb,
lib/generators/synchronisable/install_generator.rb,
lib/synchronisable/dsl/associations/association.rb,
lib/synchronisable/synchronizers/synchronizer_default.rb
Overview
The desired interface: ><(((*>
+ Model.sync + Model.sync()
Match.sync(:include =>
:match_players => :player
) Model.sync([id1, …, idn])
Model.where(condition).sync Match.where(condition).sync(:include =>
:match_players => :player
)
Defined Under Namespace
Modules: DSL, Model, VERSION Classes: Context, ErrorHandler, Import, InstallGenerator, MissedAssociationsError, MissedRemoteIdError, Source, Synchronizer, SynchronizerDefault, Worker
Class Method Summary collapse
- .default_models ⇒ Object
- .find_models ⇒ Object
- .source_models(models) ⇒ Object
-
.sync(*models) ⇒ Array<[Synchronisable::Context]>
Syncs models that is defined in #models.
Class Method Details
.default_models ⇒ Object
79 80 81 |
# File 'lib/synchronisable.rb', line 79 def self.default_models models.map(&:safe_constantize).compact end |
.find_models ⇒ Object
83 84 85 86 87 |
# File 'lib/synchronisable.rb', line 83 def self.find_models ActiveRecord::Base.descendants.select do |model| model.included_modules.include?(Synchronisable::Model) end end |
.source_models(models) ⇒ Object
74 75 76 77 |
# File 'lib/synchronisable.rb', line 74 def self.source_models(models) source = models.present? ? models : default_models source = source.present? ? source : find_models end |
.sync(*models) ⇒ Array<[Synchronisable::Context]>
Syncs models that is defined in #models
67 68 69 70 |
# File 'lib/synchronisable.rb', line 67 def self.sync(*models) source = source_models(models) source.map(&:sync) end |