Method: Multext::MSD#filter

Defined in:
lib/multext/msd.rb

#filter(params) ⇒ Object



32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# File 'lib/multext/msd.rb', line 32

def filter(params)
  @raw.find_all do |item|
    bool = true

    params.each do |arr|
      name  = arr.first.to_s.downcase
      value = arr.last

      if (value.respond_to? 'map')
        value = value.map { |ele| ele.to_s.downcase }
        bool = value.include?(item[name].to_s.downcase)
      else
        bool = item[name].to_s.downcase == value.to_s.downcase
      end

      break unless bool
    end

    bool
  end
end