Class: Services::EnvironmentCreator

Inherits:
Object
  • Object
show all
Defined in:
lib/busbar_cli/services/environment_creator.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(app_id, name, buildpack_id, public, default_branch, settings) ⇒ EnvironmentCreator

Returns a new instance of EnvironmentCreator.



7
8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/busbar_cli/services/environment_creator.rb', line 7

def initialize(app_id, name, buildpack_id, public, default_branch, settings)
  @app_id = app_id
  @name = name

  @params = {
    app_id: app_id,
    name: name,
    buildpack_id: buildpack_id,
    public: public,
    default_branch: default_branch
  }

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

Class Method Details

.call(app_id:, name:, buildpack_id:, public:, default_branch:, settings:) ⇒ Object



3
4
5
# File 'lib/busbar_cli/services/environment_creator.rb', line 3

def self.call(app_id:, name:, buildpack_id:, public:, default_branch:, settings:)
  new(app_id, name, buildpack_id, public, default_branch, settings).call
end

Instance Method Details

#callObject



22
23
24
25
26
27
28
# File 'lib/busbar_cli/services/environment_creator.rb', line 22

def call
  raise_environment_creation_issue unless EnvironmentsRepository.create(@params)

  puts "Creating environment #{@name} on app #{@app_id}. This may take a while..."

  sleep(1) until environment.state == 'available'
end