Sha256: 0a7d9eddfe8726882a0ea79b4d4afef86962fa951c2bcbc4b15105f745819302

Contents?: true

Size: 695 Bytes

Versions: 4

Compression:

Stored size: 695 Bytes

Contents

require 'rack/passbook'

class Helios::Backend::Passbook < Rack::Passbook
  get '/passes' do
    passes = Rack::Passbook::Pass.dataset

    if params[:page] or params[:per_page]
      param :page, Integer, default: 1, min: 1
      param :per_page, Integer, default: 100, in: (1..100)

      {
        passes: passes.limit(params[:per_page], (params[:page] - 1) * params[:per_page]).naked.all,
        page: params[:page],
        total: passes.count
      }.to_json
    else
      param :limit, Integer, default: 100, in: (1..100)
      param :offset, Integer, default: 0, min: 0

      {
        passes: passes.limit(params[:limit], params[:offset]).naked.all
      }.to_json
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
helios-0.0.5 ./lib/helios/backend/passbook.rb
helios-0.0.4 ./lib/helios/backend/passbook.rb
helios-0.0.3 ./lib/helios/backend/passbook.rb
helios-0.0.2 ./lib/helios/backend/passbook.rb