class DockerHelpers
Public Class Methods
new(compose_path)
click to toggle source
# File lib/potassium/helpers/docker-helpers.rb, line 2 def initialize(compose_path) @compose_path = compose_path @compose = YAML.safe_load(File.read(compose_path)) end
Public Instance Methods
add_env(target_service, variable_key, variable_value)
click to toggle source
# File lib/potassium/helpers/docker-helpers.rb, line 16 def add_env(target_service, variable_key, variable_value) service = @compose['services'][target_service] unless service['environment'].is_a? Hash service['environment'] = {} end service['environment'][variable_key] = variable_value save end
add_link(target_service, linked_service)
click to toggle source
# File lib/potassium/helpers/docker-helpers.rb, line 7 def add_link(target_service, linked_service) service = @compose['services'][target_service] unless service['links'].is_a? Array service['links'] = [] end service['links'].push(linked_service) save end
add_service(name, definition)
click to toggle source
# File lib/potassium/helpers/docker-helpers.rb, line 25 def add_service(name, definition) add_leaf('services', name, definition) end
add_volume(name, definition = '')
click to toggle source
# File lib/potassium/helpers/docker-helpers.rb, line 29 def add_volume(name, definition = '') add_leaf('volumes', name, definition) end
Private Instance Methods
add_leaf(root_name, leaf_name, definition)
click to toggle source
# File lib/potassium/helpers/docker-helpers.rb, line 35 def add_leaf(root_name, leaf_name, definition) leaf = {} leaf[leaf_name] = YAML.safe_load(definition) @compose[root_name] = {} unless @compose[root_name].is_a? Hash @compose[root_name].merge!(leaf) save end
save()
click to toggle source
# File lib/potassium/helpers/docker-helpers.rb, line 43 def save File.open(@compose_path, 'w') { |f| f.write @compose.to_yaml } end