Class: JenkinsJob::Builder
- Inherits:
-
Object
- Object
- JenkinsJob::Builder
- Defined in:
- lib/rubyjobbuilderdsl/builder.rb
Overview
dsl methods for job builder
Instance Attribute Summary collapse
-
#jobs ⇒ Object
readonly
Returns the value of attribute jobs.
-
#views ⇒ Object
readonly
Returns the value of attribute views.
Instance Method Summary collapse
- #add_extension(&block) ⇒ Object
- #flow(name, &block) ⇒ Object
- #freestyle(name, &block) ⇒ Object
- #generate_xml ⇒ Object
-
#initialize(&block) ⇒ Builder
constructor
A new instance of Builder.
- #multi(name, &block) ⇒ Object
- #pipeline(name, &block) ⇒ Object
- #view(name, &block) ⇒ Object
Constructor Details
#initialize(&block) ⇒ Builder
13 14 15 16 17 18 |
# File 'lib/rubyjobbuilderdsl/builder.rb', line 13 def initialize(&block) @default_setting = [] @default_setting << block if block_given? @jobs = {} @views = {} end |
Instance Attribute Details
#jobs ⇒ Object (readonly)
Returns the value of attribute jobs.
11 12 13 |
# File 'lib/rubyjobbuilderdsl/builder.rb', line 11 def jobs @jobs end |
#views ⇒ Object (readonly)
Returns the value of attribute views.
11 12 13 |
# File 'lib/rubyjobbuilderdsl/builder.rb', line 11 def views @views end |
Instance Method Details
#add_extension(&block) ⇒ Object
20 21 22 |
# File 'lib/rubyjobbuilderdsl/builder.rb', line 20 def add_extension(&block) @default_setting << block if block_given? end |
#flow(name, &block) ⇒ Object
34 35 36 37 38 39 40 41 42 |
# File 'lib/rubyjobbuilderdsl/builder.rb', line 34 def flow(name, &block) @jobs[name] = Flow.new(name, self) @default_setting.each do |extension| @jobs[name].instance_eval(&extension) end @jobs[name].instance_eval(&block) end |
#freestyle(name, &block) ⇒ Object
24 25 26 27 28 29 30 31 32 |
# File 'lib/rubyjobbuilderdsl/builder.rb', line 24 def freestyle(name, &block) @jobs[name] = FreeStyle.new(name, self) @default_setting.each do |extension| @jobs[name].instance_eval(&extension) end @jobs[name].instance_eval(&block) end |
#generate_xml ⇒ Object
69 70 71 72 73 74 75 76 77 78 |
# File 'lib/rubyjobbuilderdsl/builder.rb', line 69 def generate_xml return unless block_given? generator = XmlGenerator.new @jobs.each do |name, job| yield name, generator.generate(job), :job end @views.each do |name, job| yield name, generator.generate(job), :view end end |
#multi(name, &block) ⇒ Object
54 55 56 57 58 59 60 61 62 |
# File 'lib/rubyjobbuilderdsl/builder.rb', line 54 def multi(name, &block) @jobs[name] = MultiJob.new(name, self) @default_setting.each do |extension| @jobs[name].instance_eval(&extension) end @jobs[name].instance_eval(&block) end |
#pipeline(name, &block) ⇒ Object
44 45 46 47 48 49 50 51 52 |
# File 'lib/rubyjobbuilderdsl/builder.rb', line 44 def pipeline(name, &block) @jobs[name] = Pipeline.new(name, self) @default_setting.each do |extension| @jobs[name].instance_eval(&extension) end @jobs[name].instance_eval(&block) end |
#view(name, &block) ⇒ Object
64 65 66 67 |
# File 'lib/rubyjobbuilderdsl/builder.rb', line 64 def view(name, &block) @views[name] = View.new(name, self) @views[name].instance_eval(&block) end |