Sha256: 1e4385b113e8794c99dad4fe0b62574f7dca5d159f87b4abcf02ddb398d8a50f
Contents?: true
Size: 475 Bytes
Versions: 1
Compression:
Stored size: 475 Bytes
Contents
require 'chemistry/element/atom' module Chemistry module Element extend self def define(name, &definition) if block_given? create_element_class(name).instance_eval &definition else raise ArgumentError, "`element` must be given a block" end end private def create_element_class(name) element_class = Class.new(Chemistry::Element::Atom) Chemistry::Element.const_set(name, element_class) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
chemistry-element-1.0.0 | lib/chemistry/element.rb |