Sha256: 06f6eb26509f40656497531bbf7d874d689a8b2fb81e0313795f51ff4c6c0675

Contents?: true

Size: 797 Bytes

Versions: 5

Compression:

Stored size: 797 Bytes

Contents

class TracksListing < Listings::Base

  model Track

  # filter album: :name # this also works but will do a distinct over the mode
  filter album: :name, values: :album_names
  filter album: :id, title: 'The Album Id' do |value|
    "#{value}!"
  end
  filter :order, render: false
  filter :label, values: :label_values

  def album_names
    Album.order("name").pluck("distinct name").reject(&:nil?)
  end

  def label_values
    res = ["red", "blue"]
    res << params[:l] if params[:l]
    res
  end

  custom_filter :order_lte do |items, value|
    items.where('"order" <= ?', value.to_i)
  end

  column :order
  column :title, searchable: true
  column album: :name, searchable: true do |track, album_name|
    "#{album_name} (Buy!)"
  end

  column album: :id, title: 'The Album Id'

end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
listings-0.1.15 spec/dummy/app/listings/tracks_listing.rb
listings-0.1.14 spec/dummy/app/listings/tracks_listing.rb
listings-0.1.13 spec/dummy/app/listings/tracks_listing.rb
listings-0.1.12 spec/dummy/app/listings/tracks_listing.rb
listings-0.1.11 spec/dummy/app/listings/tracks_listing.rb