ArrayIncludeMethods 1.0.4 - Ruby Refinement

Array#include_all? & Array#include_any? methods missing from basic Ruby Array API.

Setup

With Bundler:

Include the following in Gemfile:

gem 'array_include_methods', '~> 1.0.4'

Run:

bundle

Without Bundler:

Run:

gem install array_include_methods -v1.0.4

Usage

Add the following line to your application if you are not requiring all gems via Bundler (e.g. Bundler.require(:default)):

require 'array_include_methods'

To activate the ArrayIncludeMethods Ruby Refinement for the Array class, add the following line to every Ruby file that needs it:

using ArrayIncludeMethods

Now, you have #include_all? and #include_any? methods on Array objects.

Examples

Array#include_all?(other_array)

[1, 2, 3, 4].include_all?([2, 4]) # returns true
[1, 2, 3, 4].include_all?(2, 4) # returns true
[1, 2, 3, 4].include_all?([2, 4, 5]) # returns false
[1, 2, 3, 4].include_all?(2, 4, 5) # returns false
[1, 2, 3, 4].include_all?([]) # returns true
[1, 2, 3, 4].include_all?(nil) # returns false

Array#include_any?(other_array)

[1, 2, 3, 4].include_any?([2, 4, 5]) # returns true
[1, 2, 3, 4].include_any?(2, 4, 5) # returns true
[1, 2, 3, 4].include_any?([6, 7]) # returns false
[1, 2, 3, 4].include_any?(6, 7) # returns false
[1, 2, 3, 4].include_any?([]) # returns true
[1, 2, 3, 4].include_any?(nil) # returns false

Opal Compatibility

This gem degrades gracefully to monkey-patching in Opal Ruby and provides a using method shim so consumer code does not have to change if it used gems that rely on the Ruby refinement

TODO

TODO.md

Change Log

CHANGELOG.md

Contributing to array_include_methods

Copyright © 2020 Andy Maleh. See LICENSE.txt for further details.