Class: Aspect

Inherits:
Module show all
Defined in:
lib/more/facets/aop.rb

Constant Summary

Constants inherited from Module

Module::METHOD_TYPES

Constants included from Glue::Validation::ClassMethods

Glue::Validation::ClassMethods::LENGTHS

Instance Method Summary collapse

Methods inherited from Module

#*, #+, #-, #abstract, #alias_accessor!, #alias_reader!, #alias_setter, #alias_validator, #alias_writer!, #all_instance_methods, #ancestor?, #ann, #ann!, #annotations, #append_features, #append_features_without_class_extension, #append_features_without_classmethods, #attr, #attr_accessor!, #attr_reader!, #attr_setter, #attr_validator, #attr_writer!, #basename, #by_name, #class_def, #class_methods, #classified_attributes, #clone_removing, #clone_renaming, #clone_using, #conflict?, #define_dependency, #depend, #dependencies, #dirname, #equate_on, #extend, #extend_without_parameters, #heritage, #include, #include_as, #include_function_module, #include_without_parameters, #instance_interface, #instance_method!, #instance_method_defined?, #integrate, #is, #is?, #let, #memoize, #method_overloads, #method_space, #mixin_parameters, #modspace, #module_load, #module_method_defined?, #module_require, #nesting, #on_included, #overload, #prepend, #private_conflict?, #protected_conflict?, #public_conflict?, #revisal, #setting, #sort_on, #wrap_method

Methods included from Glue::Validation::ClassMethods

#validate_format, #validate_inclusion, #validate_length, #validate_numeric, #validate_value

Constructor Details

#initialize(&block) ⇒ Aspect



24
25
26
27
# File 'lib/more/facets/aop.rb', line 24

def initialize(&block)
  instance_eval(&block)
  extend self
end

Instance Method Details

#join(name, &block) ⇒ Object

TODO Should this accept pattern matches as an alternative to the block too?

Eg. join(name, pattern=nil, &block)


35
36
37
# File 'lib/more/facets/aop.rb', line 35

def join(name, &block)
  (points[name] ||= []) << block
end

#pointsObject



29
30
31
# File 'lib/more/facets/aop.rb', line 29

def points
  @points ||= {}
end