Class: Docker::Cli::Dockerfile
- Inherits:
-
Object
- Object
- Docker::Cli::Dockerfile
show all
- Defined in:
- lib/docker/cli/dockerfile.rb
Defined Under Namespace
Classes: NoDockerfileFound
Class Method Summary
collapse
Instance Method Summary
collapse
Constructor Details
Returns a new instance of Dockerfile.
23
24
25
|
# File 'lib/docker/cli/dockerfile.rb', line 23
def initialize(file)
@dfile = file
end
|
Class Method Details
.find_available(root = Dir.getwd) ⇒ Object
10
11
12
|
# File 'lib/docker/cli/dockerfile.rb', line 10
def self.find_available(root = Dir.getwd)
Dir.glob("**/Dockerfile*")
end
|
.images(dockerfile) ⇒ Object
expect dockerfile is CONTENT, not file path
19
20
21
|
# File 'lib/docker/cli/dockerfile.rb', line 19
def self.images(dockerfile)
DockerRunLog.instance.dockerfile_images(dockerfile)
end
|
.run_before?(dockerfile_path) ⇒ Boolean
14
15
16
|
# File 'lib/docker/cli/dockerfile.rb', line 14
def self.run_before?(dockerfile_path)
DockerRunLog.instance.has_dockerfile_seen_before?(dockerfile_path)
end
|
Instance Method Details
#is_erb_template? ⇒ Boolean
46
47
48
49
50
51
52
53
|
# File 'lib/docker/cli/dockerfile.rb', line 46
def is_erb_template?
if File.exist?(@dfile)
cont = File.read(@dfile)
(cont =~ /<%=/ and cont =~ /%>/) != nil
else
false
end
end
|
#process_dockerfile_template(file, values = {}) ⇒ Object
55
56
57
58
|
# File 'lib/docker/cli/dockerfile.rb', line 55
def process_dockerfile_template(file, values = {})
raise Error, "Given dockerfile to process as template not found" if not File.exist?(file)
DockerfileTemplate::TemplateEngine.new.process(File.read(file), values)
end
|
#render_dockerfile(vals = {}, &block) ⇒ Object
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
# File 'lib/docker/cli/dockerfile.rb', line 27
def render_dockerfile(vals = {}, &block)
if @_df.nil?
if @dfile.nil?
@_df = nil
else
if File.exist?(@dfile)
if is_erb_template?
@_df = process_dockerfile_template(@dfile, vals)
else
@_df = File.read(@dfile)
end
else
@_df = nil
end
end
end
@_df
end
|