Sha256: 8c8560ef87c7a42183a1f8ec0754573516b7d72b7c75c0ab112f4e3e74332684

Contents?: true

Size: 982 Bytes

Versions: 26

Compression:

Stored size: 982 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/archive", "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

26 entries across 26 versions & 1 rubygems

Version Path
dply-0.3.15 lib/dply/setup.rb
dply-0.3.14 lib/dply/setup.rb
dply-0.3.13 lib/dply/setup.rb
dply-0.3.12 lib/dply/setup.rb
dply-0.3.11 lib/dply/setup.rb
dply-0.3.10 lib/dply/setup.rb
dply-0.3.9 lib/dply/setup.rb
dply-0.3.8 lib/dply/setup.rb
dply-0.3.7 lib/dply/setup.rb
dply-0.3.6 lib/dply/setup.rb
dply-0.3.5 lib/dply/setup.rb
dply-0.3.4 lib/dply/setup.rb
dply-0.3.3 lib/dply/setup.rb
dply-0.3.2 lib/dply/setup.rb
dply-0.3.1 lib/dply/setup.rb
dply-0.3.0 lib/dply/setup.rb
dply-0.2.19 lib/dply/setup.rb
dply-0.2.18 lib/dply/setup.rb
dply-0.2.17 lib/dply/setup.rb
dply-0.2.16 lib/dply/setup.rb