Class: Feedback::Resource

Inherits:
ApplicationRecord show all
Defined in:
lib/nexmo_developer/app/models/feedback/resource.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.best_performingObject



32
33
34
# File 'lib/nexmo_developer/app/models/feedback/resource.rb', line 32

def self.best_performing
  worst_performing.reverse
end

.worst_performingObject



28
29
30
# File 'lib/nexmo_developer/app/models/feedback/resource.rb', line 28

def self.worst_performing
  all.select { |resource| resource.feedbacks.count > 5 }.sort_by(&:score_value)
end

Instance Method Details

#display_nameObject



8
9
10
# File 'lib/nexmo_developer/app/models/feedback/resource.rb', line 8

def display_name
  uri
end


24
25
26
# File 'lib/nexmo_developer/app/models/feedback/resource.rb', line 24

def relative_link
  URI(uri).path
end

#scoreObject



12
13
14
15
16
17
18
# File 'lib/nexmo_developer/app/models/feedback/resource.rb', line 12

def score
  if feedbacks.any?
    score_value.round(1)
  else
    'n/a'
  end
end

#score_valueObject



20
21
22
# File 'lib/nexmo_developer/app/models/feedback/resource.rb', line 20

def score_value
  ((feedbacks.positive.count / feedbacks.count.to_f) * 100.to_f)
end