Sha256: 8ca4ad9d62c1cf25a71777d87ce4a5a02d92ca9883083c3b8c71befaa75fc148

Contents?: true

Size: 805 Bytes

Versions: 1

Compression:

Stored size: 805 Bytes

Contents

require 'chemistry/temperature'

module Chemistry
  module Element
    class Atom
      class << self
        def symbol symbol
          const_set :SYMBOL, symbol
        end

        def atomic_number atomic_number
          const_set :ATOMIC_NUMBER, atomic_number
        end

        def atomic_weight atomic_weight
          const_set :ATOMIC_WEIGHT, atomic_weight
        end

        def melting_point melting_point
          const_set :MELTING_POINT, Chemistry::Temperature.parse(melting_point)
        end
      end

      def symbol
        self.class::SYMBOL
      end

      def atomic_number
        self.class::ATOMIC_NUMBER
      end

      def atomic_weight
        self.class::ATOMIC_WEIGHT
      end

      def melting_point
        self.class::MELTING_POINT
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
chemistry-element-1.0.0 lib/chemistry/element/atom.rb