Class: Volley::Dsl::Project
- Inherits:
-
Object
- Object
- Volley::Dsl::Project
- Defined in:
- lib/volley/dsl/project.rb
Class Attribute Summary collapse
-
.projects ⇒ Object
readonly
Returns the value of attribute projects.
Instance Attribute Summary collapse
-
#name ⇒ Object
readonly
Returns the value of attribute name.
-
#plans ⇒ Object
readonly
Returns the value of attribute plans.
Class Method Summary collapse
- .config ⇒ Object
- .exists?(name) ⇒ Boolean
- .get(name) ⇒ Object
- .project(name, o = {}, &block) ⇒ Object
- .unload ⇒ Object
Instance Method Summary collapse
- #config ⇒ Object
-
#initialize(name) ⇒ Project
constructor
A new instance of Project.
- #log(msg) ⇒ Object
- #plan(name, o = {}, &block) ⇒ Object
- #plan?(name) ⇒ Boolean
- #scm(name, o = {}, &block) ⇒ Object
- #source ⇒ Object
Constructor Details
#initialize(name) ⇒ Project
Returns a new instance of Project.
40 41 42 43 |
# File 'lib/volley/dsl/project.rb', line 40 def initialize(name) @name = name @plans = {} end |
Class Attribute Details
.projects ⇒ Object (readonly)
Returns the value of attribute projects.
6 7 8 |
# File 'lib/volley/dsl/project.rb', line 6 def projects @projects end |
Instance Attribute Details
#name ⇒ Object (readonly)
Returns the value of attribute name.
38 39 40 |
# File 'lib/volley/dsl/project.rb', line 38 def name @name end |
#plans ⇒ Object (readonly)
Returns the value of attribute plans.
37 38 39 |
# File 'lib/volley/dsl/project.rb', line 37 def plans @plans end |
Class Method Details
.exists?(name) ⇒ Boolean
27 28 29 30 |
# File 'lib/volley/dsl/project.rb', line 27 def exists?(name) n = name.to_sym @projects.keys.include?(n) end |
.get(name) ⇒ Object
19 20 21 |
# File 'lib/volley/dsl/project.rb', line 19 def get(name) @projects[name.to_sym] end |
.project(name, o = {}, &block) ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 |
# File 'lib/volley/dsl/project.rb', line 7 def project(name, o={}, &block) n = name.to_sym @projects ||= {} if @projects[n] raise "defining project #{name} more than once" else @projects[n] = new(n) @projects[n].instance_eval &block if block_given? end @projects[n] end |
.unload ⇒ Object
32 33 34 |
# File 'lib/volley/dsl/project.rb', line 32 def unload @projects = nil end |
Instance Method Details
#log(msg) ⇒ Object
49 50 51 |
# File 'lib/volley/dsl/project.rb', line 49 def log(msg) Volley::Log.info msg end |
#plan(name, o = {}, &block) ⇒ Object
53 54 55 56 57 58 59 60 61 62 |
# File 'lib/volley/dsl/project.rb', line 53 def plan(name, o={}, &block) n = name.to_sym = { :project => self }.merge(o) if block_given? @plans[n] ||= Volley::Dsl::Plan.new(name, , &block) end @plans[n] end |
#plan?(name) ⇒ Boolean
64 65 66 67 |
# File 'lib/volley/dsl/project.rb', line 64 def plan?(name) n = name.to_sym @plans.keys.include?(n) end |
#scm(name, o = {}, &block) ⇒ Object
69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 |
# File 'lib/volley/dsl/project.rb', line 69 def scm(name, o={}, &block) = { :required => true, }.merge(o) n = name.to_s if n == "auto" n = autoscm end if n.nil? || n.blank? if [:required] raise "could not automatically determine SCM" else return end end require "volley/scm/#{n}" klass = "Volley::Scm::#{n.camelize}".constantize @source = klass.new() rescue => e raise "unable to load SCM provider: #{n} #{e.}" end |
#source ⇒ Object
94 95 96 |
# File 'lib/volley/dsl/project.rb', line 94 def source @source or raise Volley::ScmNotConfigured, "SCM not configured" end |