Class: Papercall::FileFetcher

Inherits:
Fetcher
  • Object
show all
Defined in:
lib/papercall/file_fetcher.rb

Overview

Fetches submissions from file. Params:

filename

File with submissions. JSON format.

Instance Attribute Summary

Attributes inherited from Fetcher

#accepted, #declined, #rejected, #submitted, #waitlist

Instance Method Summary collapse

Methods inherited from Fetcher

#all, #analysis

Constructor Details

#initializeFileFetcher

Returns a new instance of FileFetcher.



10
11
12
13
14
15
16
17
18
# File 'lib/papercall/file_fetcher.rb', line 10

def initialize()
  @output = Papercall.configuration.output
  @filename = Papercall.configuration.input_file
  @submitted = []
  @accepted = []
  @rejected = []
  @waitlist = []
  @declined = []
end

Instance Method Details

#fetch(_) ⇒ Object



20
21
22
23
24
25
26
27
28
# File 'lib/papercall/file_fetcher.rb', line 20

def fetch(_)
  file = File.new(@filename, 'r')
  puts 'Reading from file (#{file.path})...' if @output
  submissions = JSON.parse(file.read).with_indifferent_access if file
  @submitted = submissions[:submitted].map {|s| Submission.new(s)}
  @accepted = submissions[:accepted].map {|s| Submission.new(s)}
  @rejected = submissions[:rejected].map {|s| Submission.new(s)}
  @waitlist = submissions[:waitlist].map {|s| Submission.new(s)}
end