class FigNewton::App
Attributes
dir[RW]
name[RW]
repo[RW]
Public Class Methods
new(name, config)
click to toggle source
# File lib/fig-newton/app.rb, line 3 def initialize(name, config) @name = name @repo = config["repo"] @dir = config["dir"] || dir_from_repo end
Public Instance Methods
clean(parent_directory = ".")
click to toggle source
# File lib/fig-newton/app.rb, line 23 def clean(parent_directory = ".") source_directory = full_dir(parent_directory) down(parent_directory) puts "-- Cleaning killed containers in '#{source_directory}'" `cd #{source_directory} && fig rm --force` end
clone(parent_directory = ".")
click to toggle source
# File lib/fig-newton/app.rb, line 9 def clone(parent_directory = ".") clone_directory = full_dir(parent_directory) puts "-- Cloning #{full_repo} to '#{clone_directory}'" `git clone #{full_repo} #{clone_directory} &>/dev/null` end
down(parent_directory)
click to toggle source
# File lib/fig-newton/app.rb, line 39 def down(parent_directory) source_directory = full_dir(parent_directory) puts "-- Bringing down #{@name} in '#{source_directory}'" `cd #{source_directory} && fig kill` end
pull(parent_directory = ".")
click to toggle source
# File lib/fig-newton/app.rb, line 16 def pull(parent_directory = ".") source_directory = full_dir(parent_directory) puts "-- Pulling latest upstream in '#{source_directory}'" `cd #{source_directory} && git pull` end
up(parent_directory)
click to toggle source
# File lib/fig-newton/app.rb, line 32 def up(parent_directory) source_directory = full_dir(parent_directory) puts "-- Bringing up #{@name} in '#{source_directory}'" `cd #{source_directory} && fig up -d` end
Private Instance Methods
dir_from_repo()
click to toggle source
# File lib/fig-newton/app.rb, line 63 def dir_from_repo repo.split("/").last end
full_dir(parent)
click to toggle source
# File lib/fig-newton/app.rb, line 59 def full_dir(parent) File.join(parent, @dir) end
full_repo()
click to toggle source
# File lib/fig-newton/app.rb, line 50 def full_repo @full_repo ||= case when @repo.match(/\w+:\/\//) repo else "https://github.com/#{@repo}" end end