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