Sha256: 6fe00c81c3dff20308aeb531c999e15684774edc91267bfd761df6ed9b0c1543
Contents?: true
Size: 826 Bytes
Versions: 2
Compression:
Stored size: 826 Bytes
Contents
# frozen_string_literal: true require_relative '../adapter_activerecord' require_relative '../processor_base' require_relative '../../helpers/throws' require_relative './active_record_operation' class ActiveSet class Processor::Sort < Processor::Base class ActiveRecordAdapter < Adapter::ActiveRecord def process return false unless @set.respond_to?(:to_sql) @instructions.reduce(@set.eager_load(@instructions.associations_hash)) do |set, instruction| ar_operation = ActiveRecordOperation.new(instruction, @set.klass) return false unless ar_operation.attribute_is_field? statement = set.merge(ar_operation.operation) return false if throws?(ActiveRecord::StatementInvalid) { statement.load } statement end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
activeset-0.6.5 | lib/active_set/processor_sort/active_record_adapter.rb |
activeset-0.6.4 | lib/active_set/processor_sort/active_record_adapter.rb |