Module: Pippi::Checks::SelectFollowedByEmpty::MySelect

Defined in:
lib/pippi/checks/select_followed_by_empty.rb

Instance Method Summary collapse

Instance Method Details

#select(&blk) ⇒ Object



16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/pippi/checks/select_followed_by_empty.rb', line 16

def select(&blk)
  result = super
  if self.class._pippi_check_select_followed_by_empty.nil?
    # Ignore Array subclasses since select or empty may have difference meanings
    # elsif defined?(ActiveRecord::Relation) && self.class.kind_of?(ActiveRecord::Relation) # maybe also this
  else
    result.extend MyEmpty
    self.class._pippi_check_select_followed_by_empty.array_mutator_methods.each do |this_means_its_ok_sym|
      result.define_singleton_method(this_means_its_ok_sym, self.class._pippi_check_select_followed_by_empty.its_ok_watcher_proc(MyEmpty, :empty?))
    end
  end
  result
end