Module: AttrEnumerable
- Defined in:
- lib/attr_enumerable.rb,
lib/attr_enumerable/at_attr.rb,
lib/attr_enumerable/map_attr.rb,
lib/attr_enumerable/each_attr.rb,
lib/attr_enumerable/last_attr.rb,
lib/attr_enumerable/first_attr.rb,
lib/attr_enumerable/concat_attr.rb,
lib/attr_enumerable/delete_attr.rb,
lib/attr_enumerable/reduce_attr.rb,
lib/attr_enumerable/sample_attr.rb,
lib/attr_enumerable/compact_attr.rb,
lib/attr_enumerable/include_attr.rb,
lib/attr_enumerable/reverse_attr.rb,
lib/attr_enumerable/each_attr_with_index.rb,
lib/attr_enumerable/attr_enumerable_helper.rb
Overview
AttrEnumerable
Constant Summary collapse
- REQUIRES =
Dir.glob("#{File.dirname(__FILE__)}/attr_enumerable/*_attr*.rb").map { |file|File.basename(file, '.rb') }
- ATTR_METHODS =
[ { regexp: /^each_(.*)_with_index$/, call_method: :each_attr_with_index }, { regexp: /^each_(.*)$/, call_method: :each_attr }, { regexp: /^reverse_(.*)$/, call_method: :reverse_attr }, { regexp: /^at_(.*)$/, call_method: :at_attr }, { regexp: /^compact_(.*)$/, call_method: :compact_attr }, { regexp: /^concat_(.*)$/, call_method: :concat_attr }, { regexp: /^delete_(.*)$/, call_method: :delete_attr }, { regexp: /^first_(.*)$/, call_method: :first_attr }, { regexp: /^include_(.*)\?$/, call_method: :include_attribute? }, { regexp: /^last_(.*)$/, call_method: :last_attr }, { regexp: /^map_(.*)$/, call_method: :map_attr }, { regexp: /^reduce_(.*)$/, call_method: :reduce_attr }, { regexp: /^sample_(.*)$/, call_method: :sample_attr } ]
Instance Method Summary collapse
-
#method_missing(method_name, *args, &block) ⇒ Object
call attr enumerable method.
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(method_name, *args, &block) ⇒ Object
call attr enumerable method.
23 24 25 26 27 28 |
# File 'lib/attr_enumerable/attr_enumerable_helper.rb', line 23 def method_missing(method_name, *args, &block) target_method = detect(method_name) send(target_method[:call_method], target_method[:attribute], method_name, *args, &block) rescue raise end |