Sha256: 0ab23fb197ed1c06b427a9b95f1d21fc0dc01d193232eddc29e040be11ac0fab
Contents?: true
Size: 1.06 KB
Versions: 6
Compression:
Stored size: 1.06 KB
Contents
module CloudSesame module Query module DSL module FilterQueryMethods def included?(field, value = nil) !!( (field_options = dsl_context[:fields][field.to_sym]) && (applied = field_options[:applied]) && ( (!value && applied.values.any?) || ( value && (index = applied.keys.index(value)) && (field_options[:applied].values[index] != false) ) ) ) end def excluded?(field, value = nil) !!( (field_options = dsl_context[:fields][field.to_sym]) && (applied = field_options[:applied]) && ( (!value && !applied.values.all?) || ( value && (index = applied.keys.index(value)) && field_options[:applied].values[index] == false ) ) ) end def applied_filters applied = {} dsl_context[:fields].each do |field, options| if options && options[:applied] && !(values = options[:applied].select { |k, v| v }.keys).empty? applied[field] = values end end applied end end end end end
Version data entries
6 entries across 6 versions & 1 rubygems