class RubyStackoverflow::Client::Question
Attributes
answers[R]
comments[R]
posts[R]
user[R]
Public Class Methods
create_question(attr_hash, questions, hash_key)
click to toggle source
# File lib/ruby-stackoverflow/client/resource/question.rb, line 50 def create_question(attr_hash, questions, hash_key) qid = attr_hash.delete(hash_key) question = find_or_create_question(questions, qid) questions << question unless question_exists?(questions,qid) question end
data_has_answer?(data)
click to toggle source
# File lib/ruby-stackoverflow/client/resource/question.rb, line 32 def data_has_answer?(data) data.first.include?(:answer_id) end
data_has_comment?(data)
click to toggle source
# File lib/ruby-stackoverflow/client/resource/question.rb, line 36 def data_has_comment?(data) data.first.include?(:comment_id) && !data.first.include?(:timeline_type) end
data_has_timeline?(data)
click to toggle source
# File lib/ruby-stackoverflow/client/resource/question.rb, line 40 def data_has_timeline?(data) data.first.include?(:timeline_type) end
find_or_create_question(questions, qid)
click to toggle source
# File lib/ruby-stackoverflow/client/resource/question.rb, line 44 def find_or_create_question(questions, qid) question_array = questions.select{|q|q.question_id == qid} !question_array.empty? ? question_array.first : new({question_id: qid}) end
new(attributes_hash={})
click to toggle source
Calls superclass method
# File lib/ruby-stackoverflow/client/resource/question.rb, line 5 def initialize(attributes_hash={}) @answers = [] @comments = [] @posts = [] super end
parse_data(data)
click to toggle source
# File lib/ruby-stackoverflow/client/resource/question.rb, line 13 def parse_data(data) questions = [] data.each do|attr_hash| if data_has_answer?(data) question = create_question(attr_hash, questions, :question_id) question.answers.push(Answer.new(attr_hash)) elsif data_has_comment?(data) question = create_question(attr_hash, questions,:post_id) question.comments.push(Comment.new(attr_hash)) elsif data_has_timeline?(data) question = create_question(attr_hash, questions,:question_id) question.posts.push(Post.new(attr_hash)) else questions << new(attr_hash) end end questions end
question_exists?(questions, question_id)
click to toggle source
# File lib/ruby-stackoverflow/client/resource/question.rb, line 57 def question_exists?(questions, question_id) question_array = questions.select{|q|q.question_id == question_id } !question_array.empty? end