Class: RedisCloudAutoUpgrade
- Inherits:
-
Object
- Object
- RedisCloudAutoUpgrade
- Extended by:
- selfself::ClassMethods
- Includes:
- selfself::DependentValues
- Defined in:
- lib/redis_cloud_auto_upgrade.rb,
lib/redis_cloud_auto_upgrade/version.rb,
lib/redis_cloud_auto_upgrade/exceptions.rb,
lib/redis_cloud_auto_upgrade/configuration.rb
Overview
Configuration part
Defined Under Namespace
Modules: ClassMethods, DependentValues, HerokuAPI Classes: Configuration
Constant Summary collapse
- VERSION =
'0.3.0'
- IllegalConfiguration =
Class.new RuntimeError
Instance Method Summary collapse
- #configure(config) ⇒ Object
- #current_redis_cloud_plan ⇒ Object
-
#current_redis_mem_usage ⇒ Object
Memoize from lab42_core gem?.
-
#initialize ⇒ RedisCloudAutoUpgrade
constructor
A new instance of RedisCloudAutoUpgrade.
- #needs_to_upgrade? ⇒ Boolean
- #potential_upgrade! ⇒ Object
Constructor Details
#initialize ⇒ RedisCloudAutoUpgrade
Returns a new instance of RedisCloudAutoUpgrade.
17 18 19 |
# File 'lib/redis_cloud_auto_upgrade.rb', line 17 def initialize @config = Configuration.new end |
Instance Method Details
#configure(config) ⇒ Object
21 22 23 24 |
# File 'lib/redis_cloud_auto_upgrade.rb', line 21 def configure(config) @config.configure config self end |
#current_redis_cloud_plan ⇒ Object
26 27 28 29 |
# File 'lib/redis_cloud_auto_upgrade.rb', line 26 def current_redis_cloud_plan @__current_redis_cloud_plan ||= HerokuAPI.current_redis_cloud_plan(**heroku_params) end |
#current_redis_mem_usage ⇒ Object
Memoize from lab42_core gem?
32 33 34 35 36 |
# File 'lib/redis_cloud_auto_upgrade.rb', line 32 def current_redis_mem_usage return @__current_redis_mem_usage__ if @__current_redis_mem_usage__ redis_instance = config.redis_instance || Redis.current @__current_redis_mem_usage__ = redis_instance.info['used_memory'].to_i end |
#needs_to_upgrade? ⇒ Boolean
38 39 40 |
# File 'lib/redis_cloud_auto_upgrade.rb', line 38 def needs_to_upgrade? !(current_redis_mem_usage < currently_available_memory * config.treshhold) end |
#potential_upgrade! ⇒ Object
42 43 44 45 |
# File 'lib/redis_cloud_auto_upgrade.rb', line 42 def potential_upgrade! raise IllegalConfiguration, config.errors_human_readable unless config.valid? do_potential_upgrade! end |