class Gitrob::Models::Assessment
Public Instance Methods
comparable_assessment?(assessment)
click to toggle source
# File lib/gitrob/models/assessment.rb, line 85 def comparable_assessment?(assessment) comparable_assessments.map(&:id).include?(assessment.id) end
comparable_assessments()
click to toggle source
# File lib/gitrob/models/assessment.rb, line 70 def comparable_assessments owner_ids = owners.map(&:github_id) comparison_ids = primary_comparisons_dataset .select_map(:secondary_assessment_id) + secondary_comparisons_dataset .select_map(:primary_assessment_id) self.class .where("id NOT IN ?", [id] + comparison_ids) .where(:finished => true, :deleted => false) .order(:created_at) .eager(:owners).reverse.all.select do |a| !(a.owners.map(&:github_id) & owner_ids).empty? end end
name()
click to toggle source
# File lib/gitrob/models/assessment.rb, line 23 def name values[:name] || fallback_name end
save_blob(blob, repository, owner)
click to toggle source
# File lib/gitrob/models/assessment.rb, line 50 def save_blob(blob, repository, owner) allowed_columns = Gitrob::Models::Blob.allowed_columns data = blob.select { |k, _v| allowed_columns.include?(k.to_sym) } blob = Gitrob::Models::Blob.new(data) blob.repository = repository blob.owner = owner self.blobs_count += 1 blob.owner.blobs_count += 1 blob.owner.save blob.repository.blobs_count += 1 blob.repository.save add_blob(blob) end
save_github_access_token(token)
click to toggle source
# File lib/gitrob/models/assessment.rb, line 64 def save_github_access_token(token) add_github_access_token( Gitrob::Models::GithubAccessToken.new(:token => token) ) end
save_owner(owner)
click to toggle source
# File lib/gitrob/models/assessment.rb, line 27 def save_owner(owner) owner = Gitrob::Utils.symbolize_hash_keys(owner.to_hash) allowed_columns = Gitrob::Models::Owner.allowed_columns owner[:github_id] = owner.delete(:id) data = owner.select { |k, _v| allowed_columns.include?(k.to_sym) } owner = Gitrob::Models::Owner.new(data) self.owners_count += 1 add_owner(owner) end
save_repository(repository, owner)
click to toggle source
# File lib/gitrob/models/assessment.rb, line 37 def save_repository(repository, owner) repository = Gitrob::Utils.symbolize_hash_keys(repository.to_hash) allowed_columns = Gitrob::Models::Repository.allowed_columns repository[:github_id] = repository.delete(:id) data = repository.select { |k, _v| allowed_columns.include?(k.to_sym) } repository = Gitrob::Models::Repository.new(data) repository.owner = owner self.repositories_count += 1 repository.owner.repositories_count += 1 repository.owner.save add_repository(repository) end
validate()
click to toggle source
Calls superclass method
# File lib/gitrob/models/assessment.rb, line 18 def validate super validates_presence [:endpoint, :site, :verify_ssl] end
Private Instance Methods
fallback_name()
click to toggle source
# File lib/gitrob/models/assessment.rb, line 91 def fallback_name reload.values[:created_at].strftime("%A, %d %b %Y %H:%M") end