Module: Interface::InterfaceMethods

Included in:
Interface
Defined in:
lib/definition.rb

Instance Method Summary collapse

Instance Method Details

#[](name) ⇒ Object



129
130
131
# File 'lib/definition.rb', line 129

def [](name)
  return @define_table[name]
end

#define(ret = Definition::Const::Any) ⇒ Object



125
126
127
128
# File 'lib/definition.rb', line 125

def define(ret=Definition::Const::Any)
  defn = Definition.new(ret, self)
  return defn.to_enroll(@define_table)
end

#each(&block) ⇒ Object



122
123
124
# File 'lib/definition.rb', line 122

def each(&block)
  @define_table.each(&block)
end

#included(mod) ⇒ Object



110
111
112
113
# File 'lib/definition.rb', line 110

def included(mod)
  mod.extend InterfaceMethods
  mod.init_table @define_table
end

#init_table(table) ⇒ Object



114
115
116
117
118
119
120
121
# File 'lib/definition.rb', line 114

def init_table(table)
  @define_table ||= {}
  if table
    table.each do |name, defs|
      @define_table[name] = defs.dup
    end
  end
end