Sha256: 35a5a21bc88ed8b9ac654875310b2896897d6c427760893da5469b4259374877

Contents?: true

Size: 377 Bytes

Versions: 1

Compression:

Stored size: 377 Bytes

Contents

require 'chemistry/element'

module Chemistry::DSL
  extend self

  def element(name, &definition)
    if block_given?
      element_class = Class.new(Chemistry::Element)
      Chemistry::Element.const_set(name, element_class)
      element_class.instance_eval &definition if block_given?
    else
      raise ArgumentError, "`element` must be given a block"
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
chemistry-0.0.3 lib/chemistry/dsl.rb