Sha256: f8f6e06c7d1c079b56c6f2f509230817784f05e3d2c7e32b9fad188d5b88dae1
Contents?: true
Size: 1.55 KB
Versions: 1
Compression:
Stored size: 1.55 KB
Contents
module ReactiveRecord # redefine if you want to process errors (i.e. logging, rollbar, etc) def self.on_fetch_error(e, params); end module Operations # fetch queued up records from the server # subclass of ControllerOp so we can pass the controller # along to on_fetch_error class Fetch < Hyperloop::ControllerOp param :acting_user, nils: true param models: [] param associations: [] param :pending_fetches step do ReactiveRecord::ServerDataCache[ params.models.map(&:with_indifferent_access), params.associations.map(&:with_indifferent_access), params.pending_fetches, params.acting_user ] end failed do |e| ReactiveRecord.on_fetch_error(e, params.to_h) raise e end end class Save < Hyperloop::ServerOp param :acting_user, nils: true param models: [] param associations: [] param :validate, type: :boolean step do ReactiveRecord::Base.save_records( params.models.map(&:with_indifferent_access), params.associations.map(&:with_indifferent_access), params.acting_user, params.validate, true ) end end class Destroy < Hyperloop::ServerOp param :acting_user, nils: true param :model param :id param :vector step do ReactiveRecord::Base.destroy_record( params.model, params.id, params.vector, params.acting_user ) end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
hyper-mesh-1.0.0.lap26 | lib/reactive_record/active_record/reactive_record/operations.rb |