class LittleElementor::Element

Attributes

atomic_number[R]
charge[R]
group[R]
is_nobel_gas[R]
name[R]
period[R]
symbol[R]

Public Class Methods

new(atomic_number, charge = 0) click to toggle source
# File lib/little_elementor.rb, line 9
def initialize(atomic_number, charge = 0)
  @atomic_number = atomic_number + charge
  @is_nobel_gas = [2, 10, 18, 36, 54, 86, 118].include?(@atomic_number)
  @name = LittleElementor::Helpers::ELEMENTS[@atomic_number-1][:name]
  @period = electron_configuration.map(&:n).max
  @charge = charge
  @group = get_group()
  @symbol = LittleElementor::Helpers::ELEMENTS[@atomic_number-1][:sym]
end

Public Instance Methods

electron_configuration(sorted: true) click to toggle source
# File lib/little_elementor.rb, line 19
def electron_configuration(sorted: true)
  get_e_c(sorted)
end
to_s() click to toggle source
# File lib/little_elementor.rb, line 23
def to_s
  "Symbol: #{@symbol}\nis a noble gas?: #{@is_nobel_gas}\ncharge: #{@charge}\nname: #{@name}\natomic_number #{@atomic_number}\nsorted electron configuration: #{electron_configuration.map(&:to_s)}\nelectron configuration: #{electron_configuration(sorted: false).map(&:to_s)}\nperiod: #{@period}\ngroup: #{@group}"
end