Guest User

Untitled

a guest
Aug 16th, 2018
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.85 KB | None | 0 0
  1. ruby many-to-many table query
  2. Work
  3. int id
  4. int status_id
  5.  
  6. Team
  7. int id
  8. string name (A,B,C,D)
  9.  
  10. Assignment
  11. int id
  12. int work_id
  13. int team_id
  14. date date
  15.  
  16. Status
  17. int id
  18. string name (done,ongoing,idle)
  19.  
  20. b = Gruff::StackedBar.new('600x350')
  21. @teams = Team.find(:all)
  22. @statuses = Status.find(:all)
  23. @names = Array.new
  24. @list2 = Array.new
  25.  
  26. # data collection
  27. @teams.each do |e|
  28. @list2 << e.works.count(:all,:group=>"status_id")
  29. @names << e.name
  30. end
  31.  
  32. # for the labels
  33.  
  34. @keys = Hash[*@names.sort.collect {|v| [@names.sort.index(v),v.to_s] }.flatten]
  35. b.labels = @keys
  36.  
  37. # Plot the data into graph
  38. (0..@list2.length-3).each do |i|
  39. b.data("#{@statuses[i].name2 unless @statuses[i].name2.nil?}", @keys.sort.collect {|k,v| @list2[i][k].nil? ? 0 : @list2[i][k]})
  40. end
  41.  
  42.  
  43. b.write("#{RAILS_ROOT}/public/images/tcr.png")
  44. render(:layout => false)
Add Comment
Please, Sign In to add comment