class Services::AppCreator

Public Class Methods

call(id:, buildpack_id:, repository:, default_branch:, default_env:, environment:) click to toggle source
# File lib/busbar_cli/services/app_creator.rb, line 3
def self.call(id:, buildpack_id:, repository:, default_branch:, default_env:, environment:)
  new(id, buildpack_id, repository, default_branch, default_env, environment).call
end
new(id, buildpack_id, repository, default_branch, default_env, environment) click to toggle source
# File lib/busbar_cli/services/app_creator.rb, line 7
def initialize(id, buildpack_id, repository, default_branch, default_env, environment)
  @id = id
  @buildpack_id = buildpack_id

  @params = {
    id: id,
    buildpack_id: buildpack_id,
    repository: repository || autodetect_repository,
    default_branch: default_branch
  }

  @params = @params.merge(default_env: default_env) unless default_env.nil?
  @params = @params.merge(environment: environment) unless environment.nil?
end

Public Instance Methods

call() click to toggle source
# File lib/busbar_cli/services/app_creator.rb, line 22
def call
  validate_id

  puts "Creating #{@id}, please stand by..."

  AppsRepository.create(@params)
end

Private Instance Methods

autodetect_repository() click to toggle source
# File lib/busbar_cli/services/app_creator.rb, line 39
def autodetect_repository
  `git remote get-url origin`.chomp
end
validate_id() click to toggle source
# File lib/busbar_cli/services/app_creator.rb, line 32
def validate_id
  return if @id.length < 54

  puts 'The application name has to be shorter than 54 characters'
  exit 1
end