Class: Array

Inherits:
Object
  • Object
show all
Defined in:
lib/sylfy/utils/reactionkey.rb

Instance Method Summary collapse

Instance Method Details

#_key_cal_chargeObject



32
33
34
35
36
37
# File 'lib/sylfy/utils/reactionkey.rb', line 32

def _key_cal_charge
  charge = [0, 0]
  self[0].each {|e| charge[0] += e.ord - 78}
  self[1].each {|e| charge[1] += e.ord - 78}
  return charge[0] == charge[1] ? "B" : "X"
end

#_key_cal_coefObject



39
40
41
42
43
# File 'lib/sylfy/utils/reactionkey.rb', line 39

def _key_cal_coef
  sum = 0
  self.flatten.each {|e| sum += e}
  return sum.floor >= 26 ? "Z" : (sum.floor + 64).chr
end

#_key_include?(str) ⇒ Boolean

Returns:

  • (Boolean)


45
46
47
48
49
# File 'lib/sylfy/utils/reactionkey.rb', line 45

def _key_include?(str)
  result = false
  self.each {|e| result = true if e.split(/;/)[0] == str.split(/;/)[0]}
  return result
end

#_key_version?Boolean

Returns:

  • (Boolean)


27
28
29
30
# File 'lib/sylfy/utils/reactionkey.rb', line 27

def _key_version?
  array = self.flatten.uniq
  return array.length == 1 ? array[0] : "X"
end

#include_all?(array = []) ⇒ Boolean

Returns:

  • (Boolean)


11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/sylfy/utils/reactionkey.rb', line 11

def include_all?(array = [])
  result = true
  self_array = {}
  self.each {|e| self_array[e.split(/;/)[0]] = e.split(/;/)[1] ? e.split(/;/)[1].to_f : 1.0}
  
  array.each do |item|
    if !self_array.has_key?(item.split(/;/)[0])
      result = false
    else 
      result = false if self_array[item] != item.split(/;/)[1].to_f
    end
  end
  
  return result
end