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.
-
#org_title ⇒ Object
readonly
Returns the value of attribute org_title.
-
#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
- #group(gname) ⇒ 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 39 40 |
# File 'lib/shiftzilla/config.rb', line 11 def initialize @org_title = cfg_file['OrgTitle'] @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 set_group_components 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 |
#org_title ⇒ Object (readonly)
Returns the value of attribute org_title.
9 10 11 |
# File 'lib/shiftzilla/config.rb', line 9 def org_title @org_title 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
58 59 60 |
# File 'lib/shiftzilla/config.rb', line 58 def add_ad_hoc_team(tinfo) @teams << Shiftzilla::Team.new(tinfo,{},true) end |
#earliest_milestone ⇒ Object
42 43 44 |
# File 'lib/shiftzilla/config.rb', line 42 def earliest_milestone milestone_boundaries[:earliest] end |
#group(gname) ⇒ Object
54 55 56 |
# File 'lib/shiftzilla/config.rb', line 54 def group(gname) @groups.select{ |g| g.id == gname[0] }[0] end |
#latest_milestone ⇒ Object
46 47 48 |
# File 'lib/shiftzilla/config.rb', line 46 def latest_milestone milestone_boundaries[:latest] end |
#release(rname) ⇒ Object
62 63 64 |
# File 'lib/shiftzilla/config.rb', line 62 def release(rname) @releases.select{ |r| r.name == rname }[0] end |
#release_by_target(tgt) ⇒ Object
66 67 68 |
# File 'lib/shiftzilla/config.rb', line 66 def release_by_target(tgt) return target_map[tgt] end |
#team(tname) ⇒ Object
50 51 52 |
# File 'lib/shiftzilla/config.rb', line 50 def team(tname) @teams.select{ |t| t.name == tname }[0] end |