class Shuttl

Attributes

name[RW]
stage[RW]

Public Class Methods

new(builder) click to toggle source
# File src/dsl/Shuttl.rb, line 9
def initialize (builder)
    @builder = builder
end

Public Instance Methods

ADD(source, destination) click to toggle source
# File src/dsl/Shuttl.rb, line 33
def ADD (source, destination)
    if source !=~ /\A#{URI::regexp}\z/
        @builder.fileAdd(source, destination)
    else
        self.add "ADD #{source} #{destination}"
    end
end
ATTACH(localDir, volume) click to toggle source
# File src/dsl/Shuttl.rb, line 86
def ATTACH (localDir, volume)
    @builder.attach(localDir, volume)
end
CMD(cmd) click to toggle source
# File src/dsl/Shuttl.rb, line 98
def CMD (cmd)
    @builder.cmd cmd
end
COPY(source, destination) click to toggle source
# File src/dsl/Shuttl.rb, line 41
def COPY(source, destination)
    self.add "COPY #{source} #{destination}"
end
DEFINES(name) click to toggle source
# File src/dsl/Shuttl.rb, line 13
def DEFINES (name)
    @builder.setName(name)
end
ENTRYPOINT(entrypoint) click to toggle source
# File src/dsl/Shuttl.rb, line 49
def ENTRYPOINT (entrypoint)
    @builder.entrypoint = entrypoint
    self.add "ENTRYPOINT #{entrypoint}"
end
ENVIRONMENT(tester) click to toggle source
# File src/dsl/Shuttl.rb, line 90
def ENVIRONMENT (tester)
    tester.call(@builder.buildSettings[:settings]['ENVIRONMENT'])
end
EXPOSE(port) click to toggle source
# File src/dsl/Shuttl.rb, line 45
def EXPOSE (port)
    self.add "EXPOSE #{port}"
end
EXTENDS(name) click to toggle source
# File src/dsl/Shuttl.rb, line 62
def EXTENDS (name)
    require_relative '../Shuttl/Loader'
    loader = Loader.new
    @builder.merge loader.find name, @builder.buildStage
end
FROM(name) click to toggle source
# File src/dsl/Shuttl.rb, line 25
def FROM (name)
    self.add "FROM #{name}"
end
IS(name) click to toggle source
# File src/dsl/Shuttl.rb, line 94
def IS (name)
    proc {|value| value == name }
end
ON(name) { || ... } click to toggle source
# File src/dsl/Shuttl.rb, line 76
def ON (name)
    @builder.on name do
        yield
    end
end
ONRUN(cmd) click to toggle source
# File src/dsl/Shuttl.rb, line 58
def ONRUN (cmd)
    self.add "RUN echo \"#{cmd}\" >> /.shuttl/start"
end
ONSTART(cmd) click to toggle source
# File src/dsl/Shuttl.rb, line 54
def ONSTART (cmd)
    self.add "RUN echo \"#{cmd}\" >> /.shuttl/run" 
end
RUN(name) click to toggle source
# File src/dsl/Shuttl.rb, line 29
def RUN (name)
    self.add "RUN #{name}"
end
SET(setting, value) click to toggle source
# File src/dsl/Shuttl.rb, line 72
def SET (setting, value)
    @builder.set setting, value
end
USE(name) click to toggle source
# File src/dsl/Shuttl.rb, line 68
def USE (name)
    EXTENDS name
end
USER(user) click to toggle source
# File src/dsl/Shuttl.rb, line 102
def USER (user)
    self.add "USER #{user}"
end
VOLUME(volume) click to toggle source
# File src/dsl/Shuttl.rb, line 82
def VOLUME (volume)
    self.add "VOLUME #{volume}"
end
add(command) click to toggle source
# File src/dsl/Shuttl.rb, line 17
def add (command)
    @builder.add command
end
fileAdd(source) click to toggle source
# File src/dsl/Shuttl.rb, line 21
def fileAdd (source)
    @builder.fileAdd source
end