Sha256: 18f450755784373e613af3b4f943258d4a98ae1943722d68c3c461663b1824db
Contents?: true
Size: 861 Bytes
Versions: 1
Compression:
Stored size: 861 Bytes
Contents
module Fixtures DB = { artists: [ { name: 'Blake Mills', genre: 'alternative', release_count: 3 }, { name: 'Björk', genre: 'electronic', release_count: 3 }, { name: 'James Blake', genre: 'electronic', release_count: 3 }, { name: 'Janelle Monae', genre: 'alt-soul', release_count: 3 }, { name: 'SZA', genre: 'alt-soul', release_count: 3 }, { name: 'Chris Frank', genre: 'alt-soul', release_count: nil }, ] } FILTERS = [ ->(genre:) { select { |item| item[:genre].match(/#{genre}/i) } }, ->(name:) { select { |item| item[:name].match(/#{name}/i) } }, ->(sort:) { sort_by { |item| item[sort.to_sym] } }, ->(releases:) { select { |item| item[:release_count].to_i == releases.to_i } }, ] ArtistReducer = Rack::Reducer.create(DB[:artists], *FILTERS) end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
rack-reducer-1.1.0 | spec/fixtures.rb |