Class: Shiftzilla::Config
- Inherits:
-
Object
- Object
- Shiftzilla::Config
- Defined in:
- lib/shiftzilla/config.rb
Instance Attribute Summary collapse
-
#groups ⇒ Object
readonly
Returns the value of attribute groups.
-
#releases ⇒ Object
readonly
Returns the value of attribute releases.
-
#sources ⇒ Object
readonly
Returns the value of attribute sources.
-
#ssh ⇒ Object
readonly
Returns the value of attribute ssh.
-
#teams ⇒ Object
readonly
Returns the value of attribute teams.
Instance Method Summary collapse
- #add_ad_hoc_team(tinfo) ⇒ Object
- #earliest_milestone ⇒ Object
-
#initialize ⇒ Config
constructor
A new instance of Config.
- #latest_milestone ⇒ Object
- #release(rname) ⇒ Object
- #release_by_target(tgt) ⇒ Object
- #team(tname) ⇒ Object
Constructor Details
#initialize ⇒ Config
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/shiftzilla/config.rb', line 11 def initialize @teams = [] @groups = [] @sources = [] group_map = {} cfg_file['Groups'].each do |group| gobj = Shiftzilla::Group.new(group) @groups << gobj group_map[gobj.id] = gobj end cfg_file['Teams'].each do |team| @teams << Shiftzilla::Team.new(team,group_map) end cfg_file['Sources'].each do |sid,sinfo| @sources << Shiftzilla::Source.new(sid,sinfo) end # Always track a release for bugs with no target release @releases = [Shiftzilla::Release.new({ 'name' => 'All', 'targets' => [] })] cfg_file['Releases'].each do |release| @releases << Shiftzilla::Release.new(release) end @releases << Shiftzilla::Release.new({ 'name' => '"---"', 'targets' => ['---'] },true) @ssh = { :host => cfg_file['SSH']['host'], :path => cfg_file['SSH']['path'], :url => cfg_file['SSH']['url'], } end |
Instance Attribute Details
#groups ⇒ Object (readonly)
Returns the value of attribute groups.
9 10 11 |
# File 'lib/shiftzilla/config.rb', line 9 def groups @groups end |
#releases ⇒ Object (readonly)
Returns the value of attribute releases.
9 10 11 |
# File 'lib/shiftzilla/config.rb', line 9 def releases @releases end |
#sources ⇒ Object (readonly)
Returns the value of attribute sources.
9 10 11 |
# File 'lib/shiftzilla/config.rb', line 9 def sources @sources end |
#ssh ⇒ Object (readonly)
Returns the value of attribute ssh.
9 10 11 |
# File 'lib/shiftzilla/config.rb', line 9 def ssh @ssh end |
#teams ⇒ Object (readonly)
Returns the value of attribute teams.
9 10 11 |
# File 'lib/shiftzilla/config.rb', line 9 def teams @teams end |
Instance Method Details
#add_ad_hoc_team(tinfo) ⇒ Object
52 53 54 |
# File 'lib/shiftzilla/config.rb', line 52 def add_ad_hoc_team(tinfo) @teams << Shiftzilla::Team.new(tinfo,{},true) end |
#earliest_milestone ⇒ Object
40 41 42 |
# File 'lib/shiftzilla/config.rb', line 40 def earliest_milestone milestone_boundaries[:earliest] end |
#latest_milestone ⇒ Object
44 45 46 |
# File 'lib/shiftzilla/config.rb', line 44 def latest_milestone milestone_boundaries[:latest] end |
#release(rname) ⇒ Object
56 57 58 |
# File 'lib/shiftzilla/config.rb', line 56 def release(rname) @releases.select{ |r| r.name == rname }[0] end |
#release_by_target(tgt) ⇒ Object
60 61 62 |
# File 'lib/shiftzilla/config.rb', line 60 def release_by_target(tgt) return target_map[tgt] end |
#team(tname) ⇒ Object
48 49 50 |
# File 'lib/shiftzilla/config.rb', line 48 def team(tname) @teams.select{ |t| t.name == tname }[0] end |