Sha256: 8ccb39e20c9683740aab1a3aec56102432ad96e75bd809061cfa24b84922f2f6
Contents?: true
Size: 533 Bytes
Versions: 1
Compression:
Stored size: 533 Bytes
Contents
module Trax module Core class NamedClass def self.new(_name, _parent_klass=nil, **options, &block) klass = ::Object.set_fully_qualified_constant(_name, (_parent_klass ? ::Class.new(_parent_klass) : Class.new do define_singleton_method(:name) { _name } end)) options.each_pair do |k,v| klass.class_attribute k klass.__send__("#{k}=", v) end unless options.blank? klass.instance_eval(&block) if block_given? klass end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
trax_core-0.0.74 | lib/trax/core/named_class.rb |