class Baleen::Project
Attributes
config[R]
name[R]
Public Class Methods
find_project(name, attribute, params={})
click to toggle source
# File lib/baleen/project.rb, line 33 def self.find_project(name, attribute, params={}) projects = Baleen::Project.projects if name && attribute raise "You cannot specify name and attribute at the same time" elsif name return projects[name.to_sym] elsif attribute projects.each do |project, attributes| attributes.config.each do |attr, values| if attr == attribute params.each do |_k, _v| return nil unless values[_k] == _v end return projects[project] end end end end end
find_project_by_ci(params)
click to toggle source
# File lib/baleen/project.rb, line 58 def self.find_project_by_ci(params) find_project(nil, :ci, params) end
find_project_by_framework(params)
click to toggle source
# File lib/baleen/project.rb, line 66 def self.find_project_by_framework(params) find_project(nil, :framework, params) end
find_project_by_name(name)
click to toggle source
# File lib/baleen/project.rb, line 54 def self.find_project_by_name(name) find_project(name.to_sym, nil) end
find_project_by_runner(params)
click to toggle source
# File lib/baleen/project.rb, line 62 def self.find_project_by_runner(params) find_project(nil, :runner, params) end
load_project(config)
click to toggle source
# File lib/baleen/project.rb, line 18 def self.load_project(config) if File.exists?(config) yaml = Baleen::Serializable.symbolize_keys(YAML.load_file(config)) else hl_error "Config file not found" raise Baleen::Error::ConfigMissing end yaml.each do |project, cfg| if Baleen::Validation::Validator.check(cfg) @@projects[project] = self.new(project, cfg) end end end
new(name, cfg)
click to toggle source
# File lib/baleen/project.rb, line 70 def initialize(name, cfg) @name = name load_config(cfg) end
projects(name=nil)
click to toggle source
# File lib/baleen/project.rb, line 10 def self.projects(name=nil) if name @@projects[name.to_sym] else @@projects end end
Public Instance Methods
branch()
click to toggle source
# File lib/baleen/project.rb, line 100 def branch ci[:branch] end
ci()
click to toggle source
# File lib/baleen/project.rb, line 92 def ci @config[:ci] end
image()
click to toggle source
# File lib/baleen/project.rb, line 96 def image @config[:runner][:image] end
load_config(cfg)
click to toggle source
# File lib/baleen/project.rb, line 75 def load_config(cfg) if Baleen::Validation::Validator.check(cfg) cfg[:runner][:before_command] ||= default_before_command cfg[:runner][:concurrency] ||= default_concurrency cfg[:runner][:work_dir] ||= default_work_dir cfg[:runner][:image] case cfg[:framework][:type] when "cucumber" cfg[:framework][:files] = cfg[:framework][:features] || default_features else raise "Passed unknown framework from config yml: #{cfg[:framework][:type]}" end end @config = cfg end
repo()
click to toggle source
# File lib/baleen/project.rb, line 104 def repo ci[:repo] end
task()
click to toggle source
# File lib/baleen/project.rb, line 112 def task Baleen::Task::Cucumber.new( image: @config[:runner][:image], work_dir: @config[:runner][:work_dir], options: @config[:framework][:options], files: @config[:framework][:files], before_command: @config[:runner][:before_command], concurrency: @config[:runner][:concurrency].to_i, ) end
url()
click to toggle source
# File lib/baleen/project.rb, line 108 def url ci[:url] end