Sha256: 198538c8e04aa03e170cc5c7dc4ab6a8a75fb22903aff68cda4919523503bcb2
Contents?: true
Size: 592 Bytes
Versions: 1
Compression:
Stored size: 592 Bytes
Contents
require 'spec_helper' require_relative 'fixtures' require 'sinatra/base' require 'json' class SinatraMixin < Sinatra::Base class Artist < Sequel::Model plugin :json_serializer extend Rack::Reducer reduces dataset, filters: [ ->(genre:) { grep(:genre, "%#{genre}%", case_insensitive: true) }, ->(name:) { grep(:name, "%#{name}%", case_insensitive: true) }, ->(order:) { order(order.to_sym) } ] end get '/artists' do @artists = Artist.reduce(params) @artists.all.to_json end end describe SinatraMixin do it_behaves_like Rack::Reducer end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
rack-reducer-0.1.0 | spec/sinatra_mixin_spec.rb |