Class: Vx::Builder::BuildConfiguration
- Inherits:
-
Object
- Object
- Vx::Builder::BuildConfiguration
show all
- Defined in:
- lib/vx/builder/build_configuration.rb,
lib/vx/builder/build_configuration/env.rb,
lib/vx/builder/build_configuration/cache.rb,
lib/vx/builder/build_configuration/deploy.rb,
lib/vx/builder/build_configuration/artifacts.rb,
lib/vx/builder/build_configuration/deploy/provider.rb
Defined Under Namespace
Classes: Artifacts, Cache, Deploy, Env
Constant Summary
collapse
- ATTRIBUTES =
%w{
rvm
scala
jdk
language
gemfile
services
image
bundler_args
before_install
before_script
script
after_success
before_deploy
after_deploy
}
Instance Attribute Summary collapse
Class Method Summary
collapse
Instance Method Summary
collapse
Constructor Details
#initialize(new_attributes = {}, matrix_attributes = {}) ⇒ BuildConfiguration
Returns a new instance of BuildConfiguration.
46
47
48
49
50
51
52
53
54
55
56
57
|
# File 'lib/vx/builder/build_configuration.rb', line 46
def initialize(new_attributes = {}, matrix_attributes = {})
new_attributes = {} unless new_attributes.is_a?(Hash)
@env = Env.new(new_attributes["env"])
@cache = Cache.new(new_attributes["cache"])
@artifacts = Artifacts.new(new_attributes["artifacts"])
@deploy = Deploy.new(new_attributes["deploy"])
@matrix_attributes = matrix_attributes
build_attributes new_attributes
end
|
Instance Attribute Details
#artifacts ⇒ Object
Returns the value of attribute artifacts.
44
45
46
|
# File 'lib/vx/builder/build_configuration.rb', line 44
def artifacts
@artifacts
end
|
#attributes ⇒ Object
Returns the value of attribute attributes.
44
45
46
|
# File 'lib/vx/builder/build_configuration.rb', line 44
def attributes
@attributes
end
|
#cache ⇒ Object
Returns the value of attribute cache.
44
45
46
|
# File 'lib/vx/builder/build_configuration.rb', line 44
def cache
@cache
end
|
#deploy ⇒ Object
Returns the value of attribute deploy.
44
45
46
|
# File 'lib/vx/builder/build_configuration.rb', line 44
def deploy
@deploy
end
|
#env ⇒ Object
Returns the value of attribute env.
44
45
46
|
# File 'lib/vx/builder/build_configuration.rb', line 44
def env
@env
end
|
Class Method Details
.from_file(file) ⇒ Object
37
38
39
40
41
|
# File 'lib/vx/builder/build_configuration.rb', line 37
def from_file(file)
if File.readable? file
from_yaml File.read(file)
end
end
|
.from_yaml(yaml) ⇒ Object
32
33
34
35
|
# File 'lib/vx/builder/build_configuration.rb', line 32
def from_yaml(yaml)
hash = YAML.load(yaml)
new hash
end
|
Instance Method Details
#cached_directories ⇒ Object
104
105
106
|
# File 'lib/vx/builder/build_configuration.rb', line 104
def cached_directories
@cache.enabled? and @cache.directories
end
|
#deploy? ⇒ Boolean
72
73
74
|
# File 'lib/vx/builder/build_configuration.rb', line 72
def deploy?
!deploy.attributes.empty?
end
|
#deploy_attributes=(val) ⇒ Object
76
77
78
|
# File 'lib/vx/builder/build_configuration.rb', line 76
def deploy_attributes= (val)
@deploy = Deploy.new(val)
end
|
#env_matrix ⇒ Object
96
97
98
|
# File 'lib/vx/builder/build_configuration.rb', line 96
def env_matrix
env.matrix
end
|
#language ⇒ Object
100
101
102
|
# File 'lib/vx/builder/build_configuration.rb', line 100
def language
@attributes["language"].first
end
|
#matrix_attributes ⇒ Object
59
60
61
62
63
64
65
66
67
68
69
70
|
# File 'lib/vx/builder/build_configuration.rb', line 59
def matrix_attributes
@matrix_attributes.inject({}) do |a,pair|
k,v = pair
if k == 'env'
v = v["matrix"].first
end
if v
a[k] = v
end
a
end
end
|
#matrix_id ⇒ Object
81
82
83
|
# File 'lib/vx/builder/build_configuration.rb', line 81
def matrix_id
matrix_attributes.to_a.map{|i| i.join(":") }.sort.join(", ")
end
|
#to_hash ⇒ Object
85
86
87
88
89
90
|
# File 'lib/vx/builder/build_configuration.rb', line 85
def to_hash
attributes.merge("env" => env.attributes)
.merge("cache" => cache.attributes)
.merge("artifacts" => artifacts.attributes)
.merge("deploy" => deploy.attributes)
end
|
#to_yaml ⇒ Object
92
93
94
|
# File 'lib/vx/builder/build_configuration.rb', line 92
def to_yaml
to_hash.to_yaml
end
|