module BuildTasks::Mixins::DSL
Public Instance Methods
_validate(symbol, arg, validation)
click to toggle source
# File lib/buildtasks/mixins/dsl.rb, line 4 def _validate(symbol, arg, validation) kinds = Array(validation.fetch(:kind_of)) unless kinds.any? { |k| arg.is_a?(k) } raise ArgumentError, "#{symbol} must be of kind #{kinds}" end end
codename(name = nil) { || ... }
click to toggle source
# File lib/buildtasks/mixins/dsl.rb, line 21 def codename(name = nil) @codename ||= `lsb_release -cs`.strip.to_sym return @codename if name.nil? yield if name == @codename end
set_or_return(symbol, arg, validation = nil)
click to toggle source
# File lib/buildtasks/mixins/dsl.rb, line 11 def set_or_return(symbol, arg, validation = nil) iv_symbol = "@#{symbol}".to_sym if arg.nil? && instance_variable_defined?(iv_symbol) instance_variable_get(iv_symbol) else _validate(symbol, arg, validation) if validation instance_variable_set(iv_symbol, arg) end end