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