class DevDock::DevBinds
Public Class Methods
new(list)
click to toggle source
# File lib/dev_dock/binds.rb, line 61 def initialize(list) @internal_volumes = nil @container = nil @list = list end
Public Instance Methods
container?()
click to toggle source
check if we're currently running inside of a container
# File lib/dev_dock/binds.rb, line 94 def container? if @container.nil? if File.exist?('/proc/1/cgroup') @container = File.read('/proc/1/cgroup').include?('docker') else @container = false end end @container end
create()
click to toggle source
# File lib/dev_dock/binds.rb, line 105 def create list.each do |bind| bind.create end end
internal_volumes()
click to toggle source
# File lib/dev_dock/binds.rb, line 67 def internal_volumes if container? and @internal_volumes.nil? container_id = File.read('/proc/1/cgroup') .lines .find { |cgroup| cgroup.include?('docker') } .split('/') .last .strip container = Docker::Container.get(container_id) @internal_volumes = container.json['Volumes'] end @internal_volumes end
list()
click to toggle source
# File lib/dev_dock/binds.rb, line 82 def list @list.map do |item| source, target, permissions = item.split(':') DevBind.new(internal_volumes, source, target, permissions) end end
push(item)
click to toggle source
# File lib/dev_dock/binds.rb, line 89 def push(item) @list.push(item) end