Sha256: 438b184f11d61ce13329357ce9a8590232537a0ba23e4fc8be6a871791707755

Contents?: true

Size: 1 KB

Versions: 2

Compression:

Stored size: 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, 
                  :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
    end

    def revision
      @revision ||= instance_eval(&revision_proc)
    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

2 entries across 2 versions & 1 rubygems

Version Path
dply-0.0.8 lib/dply/config_struct.rb
dply-0.0.7 lib/dply/config_struct.rb