Sha256: 7e572f3a37c09ae2d888f30e1c747d044aa2fa5257e0a936664a659ff3f83b19

Contents?: true

Size: 921 Bytes

Versions: 7

Compression:

Stored size: 921 Bytes

Contents

module Buildmeister
  class Project
    include StringUtils
    
    attr_accessor :project, :name, :bins
        
    def initialize(config, options = {})
      self.name = config['name']
      self.bins = []
      
      bins.extend Finder
      
      self.project = Lighthouse::Project.find(:all).find { |p| p.name == self.name }

      project_bins = project.bins

      config['bins'].each do |bin_name|
        bin = project_bins.find { |b| b.name == bin_name }
        raise "No bin named #{bin_name}" unless bin 
        
        bins << Buildmeister::Bin.new(bin, options[:mode])
      end
    end
    
    def display
      out = ''
      out << name + "\n"
      out << "#{divider}\n"
      
      bins.each do |bin|
        out << bin.display + "\n"
      end
      
      out
    end
    
    def refresh!
      bins.each &:refresh!
    end
    
    def changed?
      bins.any? &:changed?
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
buildmeister-1.0.7 lib/buildmeister/project.rb
buildmeister-1.0.6 lib/buildmeister/project.rb
buildmeister-1.0.5 lib/buildmeister/project.rb
buildmeister-1.0.4 lib/buildmeister/project.rb
buildmeister-1.0.3 lib/buildmeister/project.rb
buildmeister-1.0.1 lib/buildmeister/project.rb
buildmeister-1.0.0 lib/buildmeister/project.rb