module LittleElementor::Helpers

Constants

ELEMENTS
L
PERIODS

Public Instance Methods

get_c_e_c() click to toggle source
# File lib/little-elementor/helpers.rb, line 162
def get_c_e_c()
  if @period == 1
    [nil, electron_configuration]
  else
    i = LittleElementor::Helpers::PERIODS[0..@period-2].sum
    nobel_gas = LittleElementor::Element.new(atomic_number: i)
    c_e_c = electron_configuration.slice(nobel_gas.electron_configuration.length, electron_configuration.length-1).map(&:to_s)
    [nobel_gas, c_e_c]
  end
end
get_e_c(sorted) click to toggle source
# File lib/little-elementor/helpers.rb, line 144
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, o.l]} : arr
end
get_group() click to toggle source
# File lib/little-elementor/helpers.rb, line 127
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
get_name() click to toggle source
# File lib/little-elementor/helpers.rb, line 140
def get_name()
  LittleElementor::Helpers::ELEMENTS[@atomic_number-1][:name]
end