class Array

Copyright 2010-2022 Ecsypno <www.ecsypno.com>

This file is part of the Arachni Framework project and is subject to redistribution and commercial restrictions. Please see the Arachni Framework web site for more information on licensing and terms of use.

Public Instance Methods

chunk( pieces = 2 ) click to toggle source
# File lib/arachni/ruby/array.rb, line 38
def chunk( pieces = 2 )
    return self if pieces <= 0

    len    = self.length
    mid    = len / pieces
    chunks = []
    start  = 0

    1.upto( pieces ) do |i|
        last = start + mid
        last = last - 1 unless len % pieces >= i
        chunks << self[ start..last ] || []
        start = last + 1
    end

    chunks
end
includes_tags?( tags ) click to toggle source

@param [#to_s, Array<#to_s>] tags

@return [Bool]

`true` if `self` contains any of the `tags` when objects of both `self`
and `tags` are converted to `String`.
# File lib/arachni/ruby/array.rb, line 16
def includes_tags?( tags )
    return false if !tags

    tags = [tags].flatten.compact.map( &:to_s )
    return false if tags.empty?

    (self.flatten.compact.map( &:to_s ) & tags).any?
end
recode() click to toggle source

Recursively converts the array’s string data to UTF8.

@return [Array]

Copy of `self` with all strings {String#recode recoded} to UTF8.
# File lib/arachni/ruby/array.rb, line 29
def recode
    map { |v| v.respond_to?( :recode ) ? v.recode : v }
end
recode!() click to toggle source
# File lib/arachni/ruby/array.rb, line 33
def recode!
    each { |v| v.recode! if v.respond_to?( :recode! ) }
    self
end