class DTK::Client::Operation::Service::Eject

Public Class Methods

execute(args = Args.new) click to toggle source
# File lib/client/operation/service/eject.rb, line 21
def self.execute(args = Args.new)
  wrap_operation(args) do |args|
    service_instance = args.required(:service_instance)
    component_ref    = args.required(:component_ref)
    directory_path   = args[:directory_path]

    post_body = PostBody.new(
      :service_instance => service_instance,
      :component_ref => component_ref
    )
    response = rest_post("#{BaseRoute}/#{service_instance}/eject", post_body)

    if repo_updated = response.data["repo_updated"] 
      repo_info_args = Args.new(
        :service_instance => service_instance,
        :branch           => response.required(:branch, :name),
        :repo_url         => response.required(:repo, :url)
      )

      ClientModuleDir::GitRepo.pull_from_service_repo(repo_info_args)
    end

    nil
  end
end