Class: Array

Inherits:
Object show all
Defined in:
lib/arachni/ruby/array.rb

Overview

Copyright 2010-2022 Ecsypno http://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.

Instance Method Summary collapse

Instance Method Details

#chunk(pieces = 2) ⇒ Object



38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# 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) ⇒ Bool

Returns true if self contains any of the tags when objects of both self and tags are converted to String.

Parameters:

  • tags (#to_s, Array<#to_s>)

Returns:

  • (Bool)

    true if self contains any of the tags when objects of both self and tags are converted to String.



16
17
18
19
20
21
22
23
# 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

#recodeArray

Recursively converts the array's string data to UTF8.

Returns:

  • (Array)

    Copy of self with all strings recoded to UTF8.



29
30
31
# File 'lib/arachni/ruby/array.rb', line 29

def recode
    map { |v| v.respond_to?( :recode ) ? v.recode : v }
end

#recode!Object



33
34
35
36
# File 'lib/arachni/ruby/array.rb', line 33

def recode!
    each { |v| v.recode! if v.respond_to?( :recode! ) }
    self
end