module Datacraft::Definition

definition of component

Public Class Methods

included(base) click to toggle source
# File lib/datacraft/definition.rb, line 42
def self.included(base)
  base.extend(Forwardable)
  base.extend(MethodDef)
end
new(d) click to toggle source
# File lib/datacraft/definition.rb, line 47
def initialize(d)
  @d = d
end

Public Instance Methods

instance() click to toggle source
# File lib/datacraft/definition.rb, line 51
def instance
  @instance ||= create_instance
end

Private Instance Methods

create_instance() click to toggle source
# File lib/datacraft/definition.rb, line 57
def create_instance
  if @d[:klass]
    @d[:klass].new(*@d[:args])
  elsif @d[:block]
    CompatiableProc.new(&@d[:block])
  end
end