module LittleElementor::Helpers

Constants

ELEMENTS
L

Public Instance Methods

get_e_c(sorted) click to toggle source
# File lib/little-elementor/helpers.rb, line 139
def get_e_c(sorted)                                                                                
  i = 0
  arr = []
  LittleElementor::Orbital.gen_orbitals.each do |orbital|
    break if i >= @atomic_number
    if (i == 18) and (@atomic_number == 29 or @atomic_number == 24)
      els = 1
    elsif (@atomic_number == 24 or @atomic_number == 29) and (i == 19)
      els = @atomic_number - 19
    else
      els = orbital.electrons_count > @atomic_number - i ? @atomic_number - i : orbital.electrons_count
    end
    arr << LittleElementor::Orbital.new(orbital.n, orbital.l, els)
    i+=els
  end
  return sorted ? arr.sort_by{|o| o.n} : arr
end
get_group() click to toggle source
# File lib/little-elementor/helpers.rb, line 126
def get_group()
  case electron_configuration.last.l
  when 1
    electron_configuration.last.electrons_count + 12
  when 0
    if electron_configuration.any?{|o| o.l == 2}
      electron_configuration.last.electrons_count + electron_configuration.select{|o| o.l==2}.max{|o| o.electrons_count}.electrons_count
    else
      electron_configuration.last.electrons_count
    end
  end
end