papercall 0.15.0 → 0.15.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/papercall/analysis.rb +20 -18
- data/lib/papercall/rest_fetcher.rb +5 -5
- data/lib/papercall/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4223b3849cee0a69a2c0677e098dc7d016e66ae8
|
4
|
+
data.tar.gz: ad08a64e6d76a561a9ff33c2d66c6d98b35b072b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4623833f9412ef964483176990951989882821dfb9781df738d646c868de0603e18037dc03688c3ce8b37c215c92137e3336bc7e4761b5357508b8ac43e77b33
|
7
|
+
data.tar.gz: 9a98f7823418eb6958c61fd19c1534d7df972d4a781106eafb1c07a7db98e2f202e1fb402bc68b0498563fc654251a01e5f79d1c8d17d3505c3d4a8f16868e46
|
data/lib/papercall/analysis.rb
CHANGED
@@ -18,45 +18,47 @@ module Papercall
|
|
18
18
|
end
|
19
19
|
|
20
20
|
def analyze
|
21
|
-
|
21
|
+
start_time = Time.now
|
22
22
|
print 'Performing analysis...'
|
23
23
|
@analysis['submissions'].each do |submission|
|
24
24
|
submission['ratings'].each do |rating|
|
25
25
|
if !(@analysis['reviewers'].include? rating['user']['name'])
|
26
|
-
@analysis['reviewers'][rating['user']['name']] = [{:
|
26
|
+
@analysis['reviewers'][rating['user']['name']] = [{ id: rating['submission_id'] }]
|
27
27
|
else
|
28
|
-
@analysis['reviewers'][rating['user']['name']] << {:
|
28
|
+
@analysis['reviewers'][rating['user']['name']] << { id: rating['submission_id'] }
|
29
29
|
end
|
30
30
|
end
|
31
|
-
@analysis['talksWithoutReviews'] << {:
|
32
|
-
@analysis['talksWithFourOrMoreReviews'] << {:
|
33
|
-
@analysis['talksWithLessThanThreeReviews'] << {:
|
34
|
-
@analysis['talksWithoutFeedback'] << {:
|
35
|
-
@analysis['highlyRated'] << {:
|
36
|
-
@analysis['lowRated'] << {:
|
37
|
-
@analysis['maybe'] << {:
|
38
|
-
@analysis['accepted'] << {:
|
39
|
-
@analysis['waitlist'] << {:
|
40
|
-
@analysis['rejected'] << {:
|
41
|
-
@analysis['confirmed'] << {:
|
31
|
+
@analysis['talksWithoutReviews'] << { id: submission['id'], submission: submission } if submission['ratings'].empty?
|
32
|
+
@analysis['talksWithFourOrMoreReviews'] << { id: submission['id'], submission: submission } if submission['ratings'].size >= 4
|
33
|
+
@analysis['talksWithLessThanThreeReviews'] << { id: submission['id'], submission: submission } if submission['ratings'].size < 3
|
34
|
+
@analysis['talksWithoutFeedback'] << { id: submission['id'], submission: submission } if submission['feedback'].empty?
|
35
|
+
@analysis['highlyRated'] << { id: submission['id'], submission: submission } if highly_rated? submission
|
36
|
+
@analysis['lowRated'] << { id: submission['id'], submission: submission } if low_rated? submission
|
37
|
+
@analysis['maybe'] << { id: submission['id'], submission: submission } if maybe? submission
|
38
|
+
@analysis['accepted'] << { id: submission['id'], submission: submission } if accepted? submission
|
39
|
+
@analysis['waitlist'] << { id: submission['id'], submission: submission } if waitlisted? submission
|
40
|
+
@analysis['rejected'] << { id: submission['id'], submission: submission } if rejected? submission
|
41
|
+
@analysis['confirmed'] << { id: submission['id'], submission: submission } if confirmed? submission
|
42
42
|
end
|
43
43
|
@analysis['summary'] = summary
|
44
|
-
puts "finished in #{Time.now -
|
44
|
+
puts "finished in #{Time.now - start_time} seconds."
|
45
45
|
@analysis
|
46
46
|
end
|
47
47
|
|
48
48
|
private
|
49
49
|
|
50
|
-
def
|
50
|
+
def highly_rated?(submission)
|
51
51
|
submission['rating'] >= 75 && review_complete?(submission)
|
52
52
|
end
|
53
53
|
|
54
|
-
def
|
54
|
+
def low_rated?(submission)
|
55
55
|
submission['rating'] <= 25 && review_complete?(submission)
|
56
56
|
end
|
57
57
|
|
58
58
|
def maybe?(submission)
|
59
|
-
!accepted?(submission) &&
|
59
|
+
!accepted?(submission) &&
|
60
|
+
!rejected?(submission) &&
|
61
|
+
review_complete?(submission)
|
60
62
|
end
|
61
63
|
|
62
64
|
def review_complete?(submission)
|
@@ -3,7 +3,7 @@ require 'rest-client'
|
|
3
3
|
require 'parallel'
|
4
4
|
|
5
5
|
module Papercall
|
6
|
-
#Fetches submissions from Papercall REST API
|
6
|
+
# Fetches submissions from Papercall REST API
|
7
7
|
# Params:
|
8
8
|
class RestFetcher < Fetcher
|
9
9
|
SUBMISSIONS_URL = 'https://www.papercall.io/api/v1/submissions'.freeze
|
@@ -48,7 +48,7 @@ module Papercall
|
|
48
48
|
|
49
49
|
def fetch_ratings
|
50
50
|
start_time = Time.now
|
51
|
-
print
|
51
|
+
print 'Fetching ratings for all submissions from Papercall API...'
|
52
52
|
|
53
53
|
Parallel.each(analysis, in_threads: 8) do |submission|
|
54
54
|
unless submission['ratings']
|
@@ -61,8 +61,8 @@ module Papercall
|
|
61
61
|
end
|
62
62
|
|
63
63
|
def fetch_feedback
|
64
|
-
|
65
|
-
print
|
64
|
+
start_time = Time.now
|
65
|
+
print 'Fetching feedback for all submissions from Papercall API...'
|
66
66
|
Parallel.each(analysis, in_threads: 8) do |submission|
|
67
67
|
unless submission['feedback']
|
68
68
|
feedback_url = "#{SUBMISSIONS_URL}/#{submission['id']}/feedback"
|
@@ -70,7 +70,7 @@ module Papercall
|
|
70
70
|
end
|
71
71
|
submission['feedback'] = [] unless submission['feedback']
|
72
72
|
end
|
73
|
-
puts "finished in #{Time.now -
|
73
|
+
puts "finished in #{Time.now - start_time} seconds."
|
74
74
|
end
|
75
75
|
end
|
76
76
|
end
|
data/lib/papercall/version.rb
CHANGED