class Traker::Config
Represents Traker
configuration.
Constants
- PATH
Public Class Methods
load()
click to toggle source
# File lib/traker/config.rb, line 14 def self.load Config.new(File.join(::Rails.root, PATH)) end
new(file)
click to toggle source
# File lib/traker/config.rb, line 18 def initialize(file) yml = YAML.safe_load(File.read(file)) @environments = yml['environments'] rescue Psych::SyntaxError => e puts "[TRAKER] unable to load config file: #{e}" @environments = {} end
Public Instance Methods
env()
click to toggle source
# File lib/traker/config.rb, line 26 def env @env ||= ENV.fetch('TRAKER_ENV', 'default') end
tasks()
click to toggle source
# File lib/traker/config.rb, line 30 def tasks @environments[env] || [] end
validate!(available_tasks)
click to toggle source
# File lib/traker/config.rb, line 34 def validate!(available_tasks) available_task_names = available_tasks.map(&:name) @environments.each do |_, tasks| task_names = (tasks || []).map { |t| t['name'] } invalid_tasks = task_names - available_task_names if invalid_tasks.any? raise InvalidTasks, "#{PATH} contains invalid tasks: #{invalid_tasks.join(',')}" end end end