Guest User

Untitled

a guest
Feb 19th, 2018
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.82 KB | None | 0 0
  1. class CarController < ApplicationController
  2. def car
  3. layout = nil
  4. @scripts = []
  5. @stylesheets = []
  6. @car = Car.find(params[:id])
  7.  
  8. layout = CarPresenter.present(@car, @stylesheets, @scripts)
  9.  
  10. render :action => find_view, :layout => layout
  11. end
  12. end
  13.  
  14. class CarPresenter
  15. CAR_VIEWS = {
  16. Toyota => { :layout => "two_column", :stylesheets => ['two_column_layout.css', 'two_column_theme.css'] },
  17. Hyundai => { :layout => "three_column", :stylesheets => ['three_column_layout.css', 'three_column_theme.css'], :scripts => ["discount.js"] }
  18. # etc.
  19. }
  20.  
  21. def self.present(car, stylesheets, scripts)
  22. car_data = CAR_VIEWS[car.class]
  23. car_data[:stylesheets].each { |css| stylesheets << css }
  24. car_data[:scripts].each { |script| scrits << script }
  25. car_data[:layout]
  26. end
  27. end
Add Comment
Please, Sign In to add comment