module Lite::Report::Helpers::Filters
Private Instance Methods
except?(delete: false)
click to toggle source
# File lib/lite/report/helpers/filters.rb, line 10 def except?(delete: false) return @data_options.delete(:except) if delete @data_options[:except] end
filter!(row)
click to toggle source
# File lib/lite/report/helpers/filters.rb, line 20 def filter!(row) case row.class.name when 'Array' then filter_array!(row) when 'Hash' then filter_hash!(row) end end
filter?(delete: false)
click to toggle source
# File lib/lite/report/helpers/filters.rb, line 16 def filter?(delete: false) only?(delete: delete) || except?(delete: delete) end
filter_array!(row)
click to toggle source
# File lib/lite/report/helpers/filters.rb, line 27 def filter_array!(row) if only? row.keep_if.with_index { |_, i| @data_options[:only].include?(i) } elsif except? row.delete_if.with_index { |_, i| @data_options[:except].include?(i) } else row end end
filter_hash!(row)
click to toggle source
# File lib/lite/report/helpers/filters.rb, line 37 def filter_hash!(row) if only? row.keep_if { |key, _| @data_options[:only].include?(key) } elsif except? row.keep_if { |key, _| @data_options[:except].include?(key) } else row end end
only?(delete: false)
click to toggle source
# File lib/lite/report/helpers/filters.rb, line 47 def only?(delete: false) return @data_options.delete(:only) if delete @data_options[:only] end