Module: Rokaki::Filterable::ClassMethods

Included in:
Rokaki::FilterModel::ClassMethods
Defined in:
lib/rokaki/filterable.rb

Overview

class methods such as define_filter_keys which comprise the dsl

Instance Method Summary collapse

Instance Method Details

#filters(*filter_keys) ⇒ Object

Enhance filters to support block mode accumulation



171
172
173
174
175
176
177
178
179
180
181
182
# File 'lib/rokaki/filterable.rb', line 171

def filters(*filter_keys)
  if instance_variable_defined?(:@__in_filterable_block) && @__in_filterable_block
    @__block_filters ||= []
    @__ctx_stack ||= []
    filter_keys.each do |fk|
      @__block_filters << wrap_in_context(fk)
    end
    return
  end

  define_filter_keys(*filter_keys)
end