Sha256: db5e22bfdd47b58121524539d410886b5c66923ba9f1a98c20401701a2ac66e3

Contents?: true

Size: 567 Bytes

Versions: 14

Compression:

Stored size: 567 Bytes

Contents

# frozen_string_literal: true

require_relative '../base_adapter'

class ActiveSet
  class FilterProcessor < BaseProcessor
    class EnumerableAdapter < BaseAdapter
      def process
        return_set(filtered_set)
      end

      private

      def filtered_set
        @set.select do |item|
          select_comparison_for(item: item)
        end
      end

      def select_comparison_for(item:)
        @instruction.value_for(item: item)
                    .send(@instruction.operator,
                          @instruction.value)
      end
    end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
activeset-0.5.8 lib/active_set/processors/filter/enumerable_adapter.rb
activeset-0.5.7 lib/active_set/processors/filter/enumerable_adapter.rb
activeset-0.5.6 lib/active_set/processors/filter/enumerable_adapter.rb
activeset-0.5.5 lib/active_set/processors/filter/enumerable_adapter.rb
activeset-0.5.4 lib/active_set/processors/filter/enumerable_adapter.rb
activeset-0.5.3 lib/active_set/processors/filter/enumerable_adapter.rb
activeset-0.5.2 lib/active_set/processors/filter/enumerable_adapter.rb
activeset-0.5.1 lib/active_set/processors/filter/enumerable_adapter.rb
activeset-0.5.0 lib/active_set/processors/filter/enumerable_adapter.rb
activeset-0.4.4 lib/active_set/processors/filter/enumerable_adapter.rb
activeset-0.4.3 lib/active_set/processors/filter/enumerable_adapter.rb
activeset-0.4.2 lib/active_set/processors/filter/enumerable_adapter.rb
activeset-0.4.1 lib/active_set/processors/filter/enumerable_adapter.rb
activeset-0.4.0 lib/active_set/processors/filter/enumerable_adapter.rb