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
Returns a new instance of 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' => '"---"', 'targets' => ['---'] },true)] cfg_file['Releases'].each do |release| @releases << Shiftzilla::Release.new(release) end @releases << Shiftzilla::Release.new({ 'name' => 'All', '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 |