class HerokuAutoScale::HerokuOperations
Attributes
app_name[R]
heroku_connection[R]
Public Class Methods
new(api_key, app_name)
click to toggle source
# File lib/heroku_auto_scale/heroku_operations.rb, line 7 def initialize(api_key, app_name) @heroku_connection = PlatformAPI.connect_oauth(api_key) @app_name = app_name end
Public Instance Methods
execute_dyno_scale(process_name, new_number_of_dynos)
click to toggle source
# File lib/heroku_auto_scale/heroku_operations.rb, line 12 def execute_dyno_scale(process_name, new_number_of_dynos) if should_scale?(process_name, new_number_of_dynos) scale_dynos(process_name, new_number_of_dynos) end end
Private Instance Methods
scale_dynos(process_name, new_number_of_dynos)
click to toggle source
# File lib/heroku_auto_scale/heroku_operations.rb, line 19 def scale_dynos(process_name, new_number_of_dynos) heroku_connection.formation.update( app_name, process_name, {"quantity" => new_number_of_dynos} ) end
should_scale?(process_name, new_number_of_dynos)
click to toggle source
# File lib/heroku_auto_scale/heroku_operations.rb, line 27 def should_scale?(process_name, new_number_of_dynos) response = heroku_connection.formation.info(app_name, process_name) response["quantity"] != new_number_of_dynos end