download.rb
1.01 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#FIX ME: Turn this into a proper model(next release)
class Download
def initialize data
@name = data[:name]
@link = data[:link]
@software_description = data[:software_description]
@minimum_requirements = data[:minimum_requirements]
@size = data[:size]
@total_downloads = if data[:total_downloads]
data[:total_downloads]
else
0
end
end
def self.validate_download_list download_list
download_list.select! do |download|
not download[:name].blank?
end
download_list.map do |download|
Download.new(download).to_hash
end
end
def to_hash
{
:name => @name,
:link => @link,
:software_description => @software_description,
:minimum_requirements => @minimum_requirements,
:size => @size,
:total_downloads => @total_downloads
}
end
def total_downloads= value
if value.is_a? Integer
@total_downloads = value
end
end
def total_downloads
@total_downloads
end
def link
@link
end
end