Class: Class2
- Inherits:
-
Object
- Object
- Class2
- Defined in:
- lib/class2.rb,
lib/class2/version.rb
Defined Under Namespace
Modules: StrictConstructor
Constant Summary collapse
- CONVERSIONS =
{ Array => lambda { |v| "Array(#{v})" }, Date => lambda { |v| "Date.parse(#{v})" }, DateTime => lambda { |v| "DateTime.parse(#{v})" }, Float => lambda { |v| "Float(#{v})" }, Hash => lambda { |v| sprintf "%s.respond_to?(:to_h) ? %s.to_h : %s", v, v, v }, Integer => lambda { |v| "Integer(#{v})" }, String => lambda { |v| "String(#{v})" }, TrueClass => lambda do |v| sprintf '["1", 1, 1.0, true].freeze.include?(%s.is_a?(String) ? %s.strip : %s)', v, v, v end }
- VERSION =
"0.1.0"
Class Method Summary collapse
Class Method Details
.new(*argz, &block) ⇒ Object
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/class2.rb', line 32 def new(*argz, &block) specs = argz namespace = Object if specs[0].is_a?(String) || specs[0].is_a?(Module) namespace = specs[0].is_a?(String) ? create_namespace(specs.shift) : specs.shift end specs.each do |spec| spec = [spec] unless spec.respond_to?(:each) spec.each { |klass, attributes| make_class(namespace, klass, attributes, block) } end nil end |