Module: RubyExtendsions::ArrayExtendsions::InstanceMethods

Defined in:
lib/ruby_extendsions/array_extendsions.rb

Overview

extend ActiveSupport::Concern

Instance Method Summary collapse

Instance Method Details

#compare_content(com_arr) ⇒ Object

比较两个数组内容相同,不包含顺序



81
82
83
# File 'lib/ruby_extendsions/array_extendsions.rb', line 81

def compare_content com_arr
  Set.new(self) == Set.new(com_arr)
end

#fill_nil(val) ⇒ Object



10
11
12
# File 'lib/ruby_extendsions/array_extendsions.rb', line 10

def fill_nil(val)
  self.inject([]) {|s, a| s << (a.nil? ? a=val : a)}
end

#fill_nil!(val) ⇒ Object



14
15
16
# File 'lib/ruby_extendsions/array_extendsions.rb', line 14

def fill_nil!(val)
  self.each_index { |i| self[i] ||= val }
end

#format_mess_insertObject

change [[1,2,3]] to (‘1’,‘2’,‘3’),(‘4’,‘5’,‘6’) be used with mess insert mysql



20
21
22
23
24
25
# File 'lib/ruby_extendsions/array_extendsions.rb', line 20

def format_mess_insert
  self.inject('') do |s,i|
    t = i.inject('(') { |x, n| x << "'#{n}'," }.chop
    s << t << '),'
  end.chop
end

#is_blank_all?Boolean

for rails

Returns:

  • (Boolean)


37
38
39
40
41
# File 'lib/ruby_extendsions/array_extendsions.rb', line 37

def is_blank_all?
  b = true
  self.each {|i|  b = false if !i.blank? }
  return b
end

#is_nil_all?Boolean

whether the array is all nil item like arr = [nil,nil,nil,nil] arr.is_nil_all? #=> true

Returns:

  • (Boolean)


30
31
32
33
34
# File 'lib/ruby_extendsions/array_extendsions.rb', line 30

def is_nil_all?
  b = true
  self.each {|i|  b = false if !i.nil? }
  return b
end

#randomObject

Random return an Array item



44
45
46
# File 'lib/ruby_extendsions/array_extendsions.rb', line 44

def random
  return self[rand(self.size)]
end

#stringify_itemsObject



55
56
57
# File 'lib/ruby_extendsions/array_extendsions.rb', line 55

def stringify_items
  Marshal.load(Marshal.dump(self)).stringify_items!
end

#stringify_items!Object

把数组元素全部转换为字符串。



49
50
51
52
53
# File 'lib/ruby_extendsions/array_extendsions.rb', line 49

def stringify_items!
  self.each_with_index do |item, i|
    item.is_a?(Array) ? item.stringify_items! : self[i] = item.to_s
  end
end