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
52
|
# File 'lib/gemverse/cache.rb', line 10
def update_versions( gems: [] )
delay_in_s = 0.5
gems.each_with_index do |gem,i|
name = if gem.is_a?( String )
gem
elsif gem.is_a?( Hash )
gem['name']
else gem.name
end
puts "==> #{i+1}/#{gems.size} #{name}..."
puts " sleeping #{delay_in_s} second(s)"
sleep( delay_in_s )
data = Gems::API.versions( name )
puts " #{data.size} version record(s) found"
= ['name',
'version',
'created',
'downloads']
recs = []
data.each do |h|
created = Date.strptime( h['created_at'], '%Y-%m-%d' )
rec = [
name,
h['number'],
created.strftime( '%Y-%m-%d' ),
h['downloads_count'].to_s,
]
recs << rec
end
write_csv( "#{@basedir}/#{name}/versions.csv", []+recs )
end
end
|