class A4Tools::DeploymentClient

Attributes

cache_timeout[RW]

Public Instance Methods

builds_for_milestone(milestone, builds=nil) click to toggle source
# File lib/clients/deployment_client.rb, line 47
def builds_for_milestone(milestone, builds=nil)
  index = index_list_by_app(builds)
  in_milestone = []
  (index.map { |app, builds| (builds.select { |b| b[:branches].is_a? Array and b[:branches].include? milestone }).last }).compact
end
index_list_by_app() click to toggle source
# File lib/clients/deployment_client.rb, line 35
def index_list_by_app
  builds = cache(:buildList)
  apps = {}
  builds.each do |build|
    apps[build[:appId]] ||= []
    apps[build[:appId]].push build
  end

  apps.values.each { |app_builds| app_builds.sort! { |a,b| a[:postDate] <=> b[:postDate] } }
  apps
end
publish_build(build, sites) click to toggle source
# File lib/clients/deployment_client.rb, line 18
def publish_build(build, sites)
  sites = [*sites]
  return false unless authenticate_if_needed

  request = {
    commitId:build[:commitId],
    appIds:[build[:appId]],
    publicationTime:0,
    siteIds:sites
  }

  result = send_message(wrapped_message("buildPublish", "com.acres4.common.info.build.BuildPublishRequest", request))
  return false unless result.code.to_i >= 200 and result.code.to_i < 300

  true
end