lib/what.rb in doit-0.3.2 vs lib/what.rb in doit-0.3.6
- old
+ new
@@ -1,16 +1,18 @@
+# frozen_string_literal: true
+
require 'yaml'
require 'doit'
What = Object.new
class << What
- def matrix; @matrix; end
- def where; @where; end
- def env; @env; end
+ attr_reader :matrix
+ attr_reader :where
+ attr_reader :env
- def init(script, config)
+ def init(config)
@matrix = nil
@yml = (config && YAML.load(config)) || {}
@where = @yml.delete('where')
@env = @yml.delete('env')
@@ -35,27 +37,28 @@
end
def info
return unless Doit.options[:verbose]
- My.verbose "where", @where
- My.verbose "matrix", @matrix
- My.verbose "env", @env
+ My.verbose 'where', @where
+ My.verbose 'matrix', @matrix
+ My.verbose 'env', @env
end
-
private
def build_matrix
- unless @yml.empty?
- key, value = @yml.first
- @yml.delete(key)
- add_to_matrix(key, value)
- build_matrix
- end
+ return if @yml.empty?
+
+ key, value = @yml.first
+ @yml.delete(key)
+ add_to_matrix(key, value)
+ build_matrix
end
def add_to_matrix(key, val)
- arr = Array === val ? val.collect {|v| [{key => v}] } : [{key => val}]
+ arr = Array === val ?
+ val.collect { |v| [{ key => v }] } :
+ [{ key => val }]
@matrix = @matrix ? @matrix.product(arr) : arr
end
end