Sha256: 66c4f5167de8ef84dca45cdf307c25b12063eabbbca6da5f2ab214f5a015f10f
Contents?: true
Size: 908 Bytes
Versions: 16
Compression:
Stored size: 908 Bytes
Contents
module Rhoconnect class SourceJob class << self attr_accessor :queue end def self.perform(job_type,source_id,app_id,user_id,params) source = Source.load(source_id,{:app_id => app_id,:user_id => user_id}) params ||= {} case job_type.to_sym when :query handler_sync = lambda { @model.query(params[:query])} @model = Rhoconnect::Model::Base.create(source) source_sync = Rhoconnect::Handler::Query::Engine.new(@model, handler_sync, params) source_sync.run_query when :cud handler_cud = lambda { @model.send params[:operation].to_sym, params["#{params[:operation]}_object".to_sym] } @model = Rhoconnect::Model::Base.create(source) source_cud = Rhoconnect::Handler::Changes::Engine.new(['create', 'update', 'delete'], @model, handler_cud, params) source_cud.run_cud end end end end
Version data entries
16 entries across 16 versions & 1 rubygems