Sha256: 1615a21d5db372391b5c9d545ad5ec0d1b7b89fc27c46e9249902ca1475af886

Contents?: true

Size: 630 Bytes

Versions: 1

Compression:

Stored size: 630 Bytes

Contents

require_relative 'element/association'
require_relative 'element/persistence'
require_relative 'element/query'
require_relative 'element/serialization'
require_relative 'element/base'

module Typekit
  module Element
    def self.dictionary
      @dictionary ||= Hash[
        ObjectSpace.each_object(Class).select do |klass|
          klass < Base && klass.name
        end.map do |klass|
          [Helper.tokenize(klass), klass]
        end
      ]
    end

    def self.classify(name)
      dictionary[Helper.tokenize(name)]
    end

    def self.build(name, *arguments)
      classify(name).new(*arguments)
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
typekit-client-0.0.6 lib/typekit/element.rb