Class QuestionsController
In: app/controllers/questions_controller.rb
Parent: ApplicationController

Methods

add   delete   list   show   svd  

Included Modules

Algorithms::Rank::RSVD

Public Instance methods

POST /questions/add

Return

Added question.

Post

Formatted XML of question to add.

[Source]

    # File app/controllers/questions_controller.rb, line 30
30:   def add
31:     return unless request.post?
32:     xml = LibXML::XML::Parser.parse(request.raw_post)
33:     @questions = []
34:     xml.find("/questions/question").each do |question|
35:       @questions << Question.create(:user_id => current_user.id, :name => question.content)
36:     end
37:     GC.start
38:   end

POST /questions/delete

Return

Question and deletion status.

Options (params)

id<String>:Converted to integer. ID of question.

Raises

PermissionError:If question does not belong to user.

[Source]

    # File app/controllers/questions_controller.rb, line 47
47:   def delete
48:     return unless request.post?
49:     question = Question.find(@id = params[:id], :conditions => { :user_id => current_user.id })
50:     question.destroy
51:     @success = !Question.exists?(@id)
52:   end

GET /questions/list

Return

Array of user questions.

[Source]

    # File app/controllers/questions_controller.rb, line 57
57:   def list
58:     @questions = current_user.questions
59:     @items_count = Item.count(:conditions => { :user_id => current_user.id, :active => true })
60:     @all_items_count = Item.count(:conditions => { :user_id => current_user.id })
61:     @votes_count = Prompt.count(:joins => "INNER JOIN votes ON (votes.prompt_id=prompts.id)", :conditions => { :question_id => current_user.question_ids })
62:   end

GET /questions/1

Return

Question and stats.

Options (params)

id<String>:Converted to integer. ID of question.

Raises

PermissionError:If question does not belong to user.

[Source]

    # File app/controllers/questions_controller.rb, line 13
13:   def show
14:     @question = Question.first(:conditions => { :id => params[:id], :user_id => current_user.id })
15:     if @question
16:       @items_count = Item.count(
17:         :joins => "INNER JOIN items_questions ON (items_questions.item_id=items.id AND items_questions.question_id=#{@question.id})",
18:         :conditions => { :active => true }
19:       )
20:       @all_items_count = Item.count(:joins => "INNER JOIN items_questions ON (items_questions.item_id=items.id AND items_questions.question_id=#{@question.id})")
21:       @votes_count = Prompt.count(:joins => "INNER JOIN votes ON (votes.prompt_id=prompts.id)", :conditions => { :question_id => @question.id })
22:     end
23:   end

GET /questions/1

Return

Question SVD.

Options (params)

id<String>:Converted to integer. ID of question.

Raises

PermissionError:If question does not belong to user.

[Source]

    # File app/controllers/questions_controller.rb, line 71
71:   def svd
72:     @question = Question.first(:conditions => { :id => params[:id], :user_id => current_user.id })
73:     if @question
74:       sol = load_solution(@question.id)
75:       if sol && sol.shift
76:         @h, @v, @p, @items, @visits = sol
77:       end
78:     end
79:   end

[Validate]