Class: Exercism::Processors::EnumerableConditionProcessor

Inherits:
Processor
  • Object
show all
Defined in:
lib/exercism-analysis/processors/enumerable_condition_processor.rb

Constant Summary collapse

ENUMERABLE_METHODS =
%w(
  all? any? chunk collect collect_concat count cycle detect drop_while each
  each_cons each_entry each_slice each_with_index each_with_object
  find find_all find_index flat_map grep group_by inject map max max_by
  min min_by minmax minmax_by none? one? partition reduce reject reverse_each
  select slice_after slice_before slice_when sort sort_by take_while zip
).to_set

Instance Method Summary collapse

Methods inherited from Processor

#find_exp, #find_exps

Constructor Details

#initializeEnumerableConditionProcessor

Returns a new instance of EnumerableConditionProcessor.



14
15
16
# File 'lib/exercism-analysis/processors/enumerable_condition_processor.rb', line 14

def initialize
  @conditionals = []
end

Instance Method Details

#process_method_add_block(exp) ⇒ Object



18
19
20
21
22
# File 'lib/exercism-analysis/processors/enumerable_condition_processor.rb', line 18

def process_method_add_block(exp)
  if ENUMERABLE_METHODS.include?(exp.value)
    @conditionals += find_exps(exp.block, :condition)
  end
end

#resultObject



24
25
26
# File 'lib/exercism-analysis/processors/enumerable_condition_processor.rb', line 24

def result
  @conditionals
end