Module: PuppetForgeServer::Api::V3::Releases

Included in:
Modules, PuppetForgeServer::App::Version3
Defined in:
lib/puppet_forge_server/api/v3/releases.rb

Instance Method Summary collapse

Instance Method Details

#get_releases(metadata) ⇒ Object



19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/puppet_forge_server/api/v3/releases.rb', line 19

def get_releases()
  .map do |element|
    name = element[:metadata].name.sub(/^[^-]+-/, '')

    {
        :uri => "/v3/releases/#{element[:metadata].name}-#{element[:metadata].version}",
        :module => {
            :uri => "/v3/modules/#{element[:metadata].name}",
            :name => name
        },
        :metadata => element[:metadata].to_hash,
        :version => element[:metadata].version,
        :tags => element[:tags] ? element[:tags] : [element[:metadata].author, name],
        :file_uri => "/v3/files#{element[:path]}",
        :file_md5 => element[:checksum]
    }
  end.version_sort_by { |r| r[:version] }.reverse
end