papercall 0.15.0 → 0.15.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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