class Submission

Attributes

additional_info[R]
cfp_additional_answers[R]
co_presenter_profiles[R]
confirmed[R]
created_at[R]
feedback[RW]
id[R]
presenter_profile[R]
rating[R]
ratings[RW]
state[R]
tags[R]
talk[R]
trust[R]
updated_at[R]

Public Class Methods

new(json_hash) click to toggle source
# File lib/papercall/models/submission.rb, line 9
def initialize(json_hash)
  @id = json_hash[:id]
  @state = json_hash[:state]
  @confirmed = json_hash[:confirmed]
  @created_at = Time.parse(json_hash[:created_at])
  @updated_at = Time.parse(json_hash[:updated_at])
  @additional_info = json_hash[:additional_info]
  @rating = json_hash[:rating]
  @trust = json_hash[:trust]
  @tags = json_hash[:tags]
  @co_presenter_profiles = json_hash[:co_presenter_profiles]
  @presenter_profile = PresenterProfile.new(json_hash[:profile])
  @talk = Talk.new(json_hash[:talk])
  @cfp_additional_answers = json_hash[:cfp_additional_question_answers]
  @ratings = []
  @feedback = []
end

Public Instance Methods

accepted?() click to toggle source
# File lib/papercall/models/submission.rb, line 51
def accepted?
  @state == 'accepted'
end
confirmed?() click to toggle source
# File lib/papercall/models/submission.rb, line 63
def confirmed?
  accepted? && @confirmed == true
end
enough_reviews?() click to toggle source
# File lib/papercall/models/submission.rb, line 31
def enough_reviews?
  @ratings.size >= 3
end
highly_rated?() click to toggle source
# File lib/papercall/models/submission.rb, line 39
def highly_rated?
  @rating >= 75 && enough_reviews?
end
low_rated?() click to toggle source
# File lib/papercall/models/submission.rb, line 43
def low_rated?
  @rating <= 25 && enough_reviews?
end
maybe?() click to toggle source
# File lib/papercall/models/submission.rb, line 47
def maybe?
  !accepted? && !rejected? && enough_reviews?
end
no_feedback?() click to toggle source
# File lib/papercall/models/submission.rb, line 67
def no_feedback?
  @feedback.empty?
end
no_reviews?() click to toggle source
# File lib/papercall/models/submission.rb, line 27
def no_reviews?
  @ratings.empty?
end
rejected?() click to toggle source
# File lib/papercall/models/submission.rb, line 55
def rejected?
  @state == 'rejected'
end
to_json() click to toggle source
# File lib/papercall/models/submission.rb, line 75
def to_json
  this.to_h.to_json
end
to_s() click to toggle source
# File lib/papercall/models/submission.rb, line 71
def to_s
  puts "Submission: #{@id}, #{@talk.title}, #{@presenter_profile.name}. Number of reviews: #{@ratings.size}. Number of feedback: #{@feedback.size}"
end
too_many_reviews?() click to toggle source
# File lib/papercall/models/submission.rb, line 35
def too_many_reviews?
  @ratings.size >= 4
end
waitlisted?() click to toggle source
# File lib/papercall/models/submission.rb, line 59
def waitlisted?
  @state == 'waitlist'
end