Class: EY::CloudClient::AppEnvironment

Inherits:
Object
  • Object
show all
Defined in:
lib/engineyard-cloud-client/models/app_environment.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(api, attrs) ⇒ AppEnvironment

Returns a new instance of AppEnvironment.

Raises:

  • (ArgumentError)


23
24
25
26
27
28
# File 'lib/engineyard-cloud-client/models/app_environment.rb', line 23

def initialize(api, attrs)
  super

  raise ArgumentError, 'AppEnvironment created without app!'         unless app
  raise ArgumentError, 'AppEnvironment created without environment!' unless environment
end

Class Method Details

.resolve(api, constraints) ⇒ Object

Return a constrained list of app_environments given a set of constraints like:

  • app_name: app name full or partial match string

  • account_name: account name full or partial match string

  • environment_name: environment name full or partial match string

  • remotes: An array of git remote URIs



15
16
17
18
19
20
21
# File 'lib/engineyard-cloud-client/models/app_environment.rb', line 15

def self.resolve(api, constraints)
  clean_constraints = constraints.reject { |k,v| v.nil? }
  params = {'constraints' => clean_constraints}
  response = api.get("/app_environments/resolve", params)['resolver']
  matches = from_array(api, response['matches'])
  ResolverResult.new(api, matches, response['errors'], response['suggestions'])
end

Instance Method Details

#account_nameObject



38
39
40
# File 'lib/engineyard-cloud-client/models/app_environment.rb', line 38

def 
  app.
end

#app_nameObject



42
43
44
# File 'lib/engineyard-cloud-client/models/app_environment.rb', line 42

def app_name
  app.name
end

#attributes=(attrs) ⇒ Object



30
31
32
33
34
35
36
# File 'lib/engineyard-cloud-client/models/app_environment.rb', line 30

def attributes=(attrs)
  app_attrs         = attrs.delete('app')
  environment_attrs = attrs.delete('environment')
  super
  set_app         app_attrs         if app_attrs
  set_environment environment_attrs if environment_attrs
end

#environment_nameObject



46
47
48
# File 'lib/engineyard-cloud-client/models/app_environment.rb', line 46

def environment_name
  environment.name
end

#hierarchy_nameObject



54
55
56
# File 'lib/engineyard-cloud-client/models/app_environment.rb', line 54

def hierarchy_name
  [, app_name, environment_name].join('/')
end

#last_deploymentObject



58
59
60
# File 'lib/engineyard-cloud-client/models/app_environment.rb', line 58

def last_deployment
  Deployment.last(api, self)
end

#new_deployment(attrs) ⇒ Object



62
63
64
# File 'lib/engineyard-cloud-client/models/app_environment.rb', line 62

def new_deployment(attrs)
  Deployment.from_hash(api, attrs.merge(:app_environment => self))
end

#repository_uriObject



50
51
52
# File 'lib/engineyard-cloud-client/models/app_environment.rb', line 50

def repository_uri
  app.repository_uri
end