Sha256: 624488fec41380563cbac757d3b1ec3192cebff402c1a8cb346015bc98c1ae2f

Contents?: true

Size: 1.1 KB

Versions: 6

Compression:

Stored size: 1.1 KB

Contents

require 'dply/jenkins'
module Dply
  class ConfigStruct

    attr_writer :revision, :build_url, :build_url_proc, 
                :revision_proc
    attr_accessor :dir, :name, :repo, :branch, :mirror,
                  :strategy, :target, :verify_checksum, 
                  :config_map, :dir_map, :shared_dirs, 
                  :config_download_url, :config_skip_download 

    def initialize(dir = nil)
      @dir = dir || Dir.pwd
      @target = :default
      @branch = :master
      @verify_checksum = true
      @shared_dirs = []
    end

    def revision
      if @revision == :latest
        @revision = instance_eval(&revision_proc)
      else
        @revision
      end
    end

    def build_url
      @build_url ||= instance_eval(&build_url_proc)
    end

    def revision_proc
      @revision_proc ||= Proc.new do
        jenkins = Jenkins.new(repo, name)
        jenkins.latest_successful_revision
      end
    end

    def build_url_proc
      @build_url_proc ||= Proc.new do
        "#{repo.chomp("/")}/job/#{name}/#{revision}/artifact/build/#{name}-#{revision}-#{branch}.tar.gz"
      end
    end

  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
dply-0.2.3 lib/dply/config_struct.rb
dply-0.2.2 lib/dply/config_struct.rb
dply-0.2.0 lib/dply/config_struct.rb
dply-0.1.19 lib/dply/config_struct.rb
dply-0.1.18 lib/dply/config_struct.rb
dply-0.1.17 lib/dply/config_struct.rb