Module: Eapi

Defined in:
lib/eapi.rb,
lib/eapi/item.rb,
lib/eapi/list.rb,
lib/eapi/common.rb,
lib/eapi/errors.rb,
lib/eapi/methods.rb,
lib/eapi/version.rb,
lib/eapi/children.rb,
lib/eapi/type_checker.rb,
lib/eapi/methods/names.rb,
lib/eapi/methods/types.rb,
lib/eapi/multiple_value.rb,
lib/eapi/value_converter.rb,
lib/eapi/methods/accessor.rb,
lib/eapi/methods/properties.rb,
lib/eapi/value_ignore_checker.rb,
lib/eapi/definition_runners/list.rb,
lib/eapi/definition_runners/runner.rb,
lib/eapi/definition_runners/property.rb

Defined Under Namespace

Modules: Children, Common, DefinitionRunners, Errors, Item, List, Methods, MultipleValue, ValueConverter Classes: ListMethodDefiner, TypeChecker, ValueIgnoreChecker

Constant Summary collapse

VERSION =
'0.7.1'

Class Method Summary collapse

Class Method Details

.add_method_missing(klass) ⇒ Object



20
21
22
23
24
25
26
27
28
29
# File 'lib/eapi.rb', line 20

def self.add_method_missing(klass)
  def klass.method_missing(method, *args, &block)
    child_klass = Eapi::Children.get(method, self)
    if child_klass
      child_klass.new *args, &block
    else
      super
    end
  end
end

.extended(mod) ⇒ Object



33
34
35
36
37
38
39
40
41
# File 'lib/eapi.rb', line 33

def self.extended(mod)
  mod.class_eval "    Common = Eapi::Common\n    Item = Eapi::Item\n    List = Eapi::List\n    Children = Eapi::Children\n  CODE\n  Eapi.add_method_missing mod\nend\n"