Module: Aptly

Defined in:
lib/aptly.rb,
lib/aptly/files.rb,
lib/aptly/errors.rb,
lib/aptly/publish.rb,
lib/aptly/version.rb,
lib/aptly/connection.rb,
lib/aptly/repository.rb,
lib/aptly/configuration.rb,
lib/aptly/representation.rb

Overview

Aptly API

Defined Under Namespace

Modules: Errors Classes: Configuration, Connection, Files, PublishedRepository, Repository, Representation

Constant Summary collapse

VERSION =
'0.2.0'

Class Method Summary collapse

Class Method Details

.configurationObject



31
32
33
# File 'lib/aptly.rb', line 31

def configuration
  @configuration ||= Configuration.new
end

.configure {|configuration| ... } ⇒ Object

Yields:



27
28
29
# File 'lib/aptly.rb', line 27

def configure
  yield configuration
end

.publish(sources, prefix = '', source_kind = 'local', connection = Connection.new, **kwords) ⇒ PublishedRepository

Publish 1 or more sources into a public repository prefix.

Parameters:

  • sources (Array<Repository>)

    array of repositories to source

  • prefix (String) (defaults to: '')

    the prefix to publish under

  • source_kind (String) (defaults to: 'local')

    the source kind (local or snapshot)

Returns:



40
41
42
43
44
45
46
47
48
49
50
# File 'lib/aptly.rb', line 40

def publish(sources, prefix = '', source_kind = 'local',
            connection = Connection.new, **kwords)
  kwords = kwords.map { |k, v| [k.to_s.capitalize, v] }.to_h
  options = kwords.merge(
    SourceKind: source_kind,
    Sources: sources
  )
  response = connection.send(:post, "/publish/#{prefix}",
                             body: JSON.generate(options))
  PublishedRepository.new(connection, JSON.parse(response.body))
end