20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
# File 'lib/puppet_forge_server/api/v3/releases.rb', line 20
def get_releases(metadata)
metadata.map do |element|
author, name = element.metadata.name.split('-')
unless name
name = author
author = element.metadata.author
end
{
:uri => "/v3/releases/#{element.metadata.name}-#{element.metadata.version}",
:module => {
:uri => "/v3/modules/#{element.metadata.name}",
:name => name,
:owner => {:username => author, :uri => "/v3/users/#{author}"}
},
:metadata => element.metadata.to_hash,
:version => element.metadata.version,
:tags => element.tags ? element.tags : [author, name],
:file_uri => "/v3/files#{element.path}",
:file_md5 => element.checksum,
:deleted_at => element.deleted_at,
:readme => to_utf8(element.readme)
}
end.uniq{|r| r[:version]}.sort_by { |r| Gem::Version.new(r[:version]) }
end
|