Module: L43::Base::DataClass

Extended by:
DataClass
Included in:
DataClass
Defined in:
lib/l43/base/data_class.rb,
lib/l43/base/data_class/attribute.rb,
lib/l43/base/data_class/data_class_class.rb,
lib/l43/base/data_class/data_class_maker.rb

Defined Under Namespace

Classes: Attribute, DataClassClass, DataClassMaker

Instance Method Summary collapse

Instance Method Details

#defattr(name, required: false, default: Undefined, &init) ⇒ Object



9
10
11
# File 'lib/l43/base/data_class.rb', line 9

def defattr(name, required: false, default: Undefined, &init)
  DataClassMaker.new.defattr(name, required:, default:, &init)
end

#define(*a, **k, &b) ⇒ Object



13
14
15
# File 'lib/l43/base/data_class.rb', line 13

def define(*a, **k, &b) 
  DataClassMaker.new.define(*a, **k, &b)
end

#newObject



17
# File 'lib/l43/base/data_class.rb', line 17

def new = DataClassMaker.new

#with_block(block_name) ⇒ Object



19
20
21
# File 'lib/l43/base/data_class.rb', line 19

def with_block(block_name)
  DataClassMaker.new(block_name:)
end

#with_block!(block_name) ⇒ Object



23
24
25
# File 'lib/l43/base/data_class.rb', line 23

def with_block!(block_name)
  DataClassMaker.new(block_name:, block_required: true)
end