Sha256: 95b812a814a137b8ec68a6efd4abca03fa2d50d3f023171b5710ebc073bad921

Contents?: true

Size: 629 Bytes

Versions: 3

Compression:

Stored size: 629 Bytes

Contents

# frozen_string_literal: true

class Revector
  module Included
    def self.check!(item, iteratee, right)
      left = Array(Utility::TryFetchOrBlank[item, iteratee]).compact
      return false unless Array(left).count > 0

      compare(left, right)
    end

    def self.compare(arr, expected_array)
      Array(arr).any? do |item|
        Array(expected_array).include?(item)
      end
    end
  end

  module NotIncluded
    def self.check!(item, iteratee, value)
      !Included.check!(item, iteratee, value)
    end

    def self.compare(arr, expected_array)
      !Included.compare(arr, expected_array)
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
revector-0.1.2 lib/revector/predicate/in.rb
revector-0.1.1 lib/revector/predicate/in.rb
revector-0.1.0 lib/revector/predicate/in.rb