Sha256: af8beedc8bdf95e3f1f0a736e5b5719b3850aefd3baee96f91b765504c8390fb

Contents?: true

Size: 560 Bytes

Versions: 5

Compression:

Stored size: 560 Bytes

Contents

module ActiveRecord::Turntable
  class Mixer
    class Fader
      class SelectShardsMergeResult < Fader
        def execute
          res = @shards_query_hash.map do |shard, query|
            args = @args.dup
            args[1] = args[1].dup if args[1].present?
            shard.connection.send(@called_method, query, *args, &@block)
          end.flatten(1).compact

          case @called_method
          when "select_value", "select_one"
            res.first if res
          else
            res
          end
        end
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
activerecord-turntable-1.1.2 lib/active_record/turntable/mixer/fader/select_shards_merge_result.rb
activerecord-turntable-1.1.1 lib/active_record/turntable/mixer/fader/select_shards_merge_result.rb
activerecord-turntable-1.1.0 lib/active_record/turntable/mixer/fader/select_shards_merge_result.rb
activerecord-turntable-1.0.1 lib/active_record/turntable/mixer/fader/select_shards_merge_result.rb
activerecord-turntable-1.0.0 lib/active_record/turntable/mixer/fader/select_shards_merge_result.rb