Sha256: ff3f8e34afdeba5149564e549daeb6aac9f0836614854470729f17300d5277b0
Contents?: true
Size: 876 Bytes
Versions: 8
Compression:
Stored size: 876 Bytes
Contents
module Listings class CustomFilterView attr_reader :listing attr_reader :descriptor def initialize(listing, descriptor) @listing = listing @descriptor = descriptor end def prepare_values # custom filters do not perform lookup end def key @descriptor.key end def apply_filter(value) listing.data_source.transform_items do |items| listing.instance_exec items, value, &@descriptor.proc end end def render? if render_option.is_a?(String) true else render_option end end def partial_name if render_option.is_a?(String) render_option else raise "custom filters can only be rendered when a partial is specified" end end def render_option @descriptor.props.fetch(:render, false) end end end
Version data entries
8 entries across 8 versions & 1 rubygems