Skip to content

Instantly share code, notes, and snippets.

Created January 12, 2014 11:15
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save anonymous/8383369 to your computer and use it in GitHub Desktop.
Save anonymous/8383369 to your computer and use it in GitHub Desktop.
def index
@stats = [
{
name: "Roller Coasters ridden",
value: Coaster.all.count,
active: 1
},
{
name: "Steel",
value: Coaster.steel.count,
active: 1
},
{
name: "Wood",
value: Coaster.wood.count,
active: 1
},
{
name: "Theme Parks visited",
value: Park.all.count,
active: 1
}
]
@total_coasters = Coaster.all.count
@steel_coasters = Coaster.where("material = ?", 'steel').count
@wooden_coasters = Coaster.where("material = ?", 'wood').count
@coasters = Coaster.joins(:park).order('parks.name ASC').by_name_asc.page(params[:page] || 1).per(25)
if params[:type] == 'powered'
@coasters = @coasters.where("powered = ?", TRUE).page(params[:page] || 1).per(25)
else
@coasters = @coasters.where("material LIKE ?", params[:type]).page(params[:page] || 1).per(25) if params[:type] == 'steel' || params[:type] == 'wood'
end
if params[:letters]
letters = params[:letters]
if letters == "#"
conditions = (0..9).to_a.map{ |number| " coaster_sort = '#{number}' " }.join('OR')
else
letters = letters.split('-')
letters = (letters[0]..letters[1]).to_a
conditions = letters.map{ |letter| " coaster_sort = '#{letter}' " }.join('OR')
end
@coasters = Coaster.by_name_asc.where(conditions).page(params[:page] || 1).per(25)
end
respond_to do |format|
format.html
format.js
format.csv do
@coasters = Coaster.scoped(include: [:park, :manufacturer])
render text: @coasters.to_csv
end
end
Coaster.include_root_in_json = false
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment