Sha256: 5cbcf7dfd6714ef74a38d90731d17ecce285220f29f24bc92166afd9954846b0

Contents?: true

Size: 967 Bytes

Versions: 11

Compression:

Stored size: 967 Bytes

Contents

require 'fileutils'
require 'dply/helper'
require 'dply/repo'
require 'dply/shared_dirs'

module Dply
  class Setup

    include Helper

    def initialize(config)
      @config = config
    end

    def build
      dirs = ["config", "shared", "build"]
      create_repo if @config.git
      create_dirs dirs
      create_shared_dirs
    end

    def git
      dirs = ["config", "shared"]
      create_repo
      symlink "repo", "current"
      create_dirs dirs
      create_shared_dirs
    end

    def archive
      dirs = ["config", "shared", "releases", "tmp/cache"]
      create_dirs dirs
      create_shared_dirs
    end

    private

    def create_repo
      repo = ::Dply::Repo.new("repo", @config.repo, mirror: @config.mirror)
      repo.create
    end

    def create_dirs(dirs)
      FileUtils.mkdir_p dirs
    end

    def create_shared_dirs
      shared_dirs = SharedDirs.new(@config.shared_dirs)
      shared_dirs.create_in "shared"
    end

  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
dply-0.2.8 lib/dply/setup.rb
dply-0.2.7 lib/dply/setup.rb
dply-0.2.6 lib/dply/setup.rb
dply-0.2.5 lib/dply/setup.rb
dply-0.2.4 lib/dply/setup.rb
dply-0.2.3 lib/dply/setup.rb
dply-0.2.2 lib/dply/setup.rb
dply-0.2.0 lib/dply/setup.rb
dply-0.1.19 lib/dply/setup.rb
dply-0.1.18 lib/dply/setup.rb
dply-0.1.17 lib/dply/setup.rb