Class: Array

Inherits:
Object
  • Object
show all
Defined in:
lib/thefox-ext/ext/array.rb

Class Method Summary collapse

Class Method Details

.resolve_range_str(original_str, prefix = '') ⇒ Object

DEPRECATED: will be removed in v1.10.0.



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/thefox-ext/ext/array.rb', line 5

def self.resolve_range_str(original_str, prefix = '')
  warn "[DEPRECATION] `Array.resolve_range_str` is deprecated. Please use `String.resolve_range` instead."

  rv = Array.new
  if !original_str.is_a?(String)
    return rv
  end

  original_str.split(',').map{ |item|
    item_striped = item.strip
    if /\.\./.match(item_striped) # ( . )( . ) <--- BOOBS
      Range.new(*item_striped.split('..', 2).map{ |range| range.to_i })
    elsif /-/.match(item_striped)
      Range.new(*item_striped.split('-', 2).map{ |range| range.to_i })
    elsif /\+/.match(item_striped)
      items = item_striped.split('+')
      range_begin = items[0].to_i
      range_end = range_begin + item_striped.count('+')
      Range.new(range_begin, range_end)
    else
      item_striped.to_i
    end
  }.each{ |range|
    if range.is_a?(Range)
      rv.push(*range.to_a)
    else
      rv << range
    end
  }

  rv
end