module DockerCore::Paser
Public Class Methods
arguments(*items)
click to toggle source
@param [Array] items
# File lib/docker_core.rb, line 300 def self.arguments(*items) list = [] items.each do |item| if item.is_a?(Array) list.concat(item.map { |value| "#{value}" }) next end if item.is_a?(Hash) list.concat(self.options(item)) next end list << "#{item}" next end return list end
boolean(text)
click to toggle source
@param [String] text
# File lib/docker_core.rb, line 263 def self.boolean(text) return %w[true yes on].include?("#{text}".strip.downcase) end
kebab(text)
click to toggle source
@param [String] text
# File lib/docker_core.rb, line 268 def self.kebab(text) return "#{text}".gsub(/_/, '-') end
options(hash)
click to toggle source
@param [Hash] hash
# File lib/docker_core.rb, line 273 def self.options(hash) items = [] if hash.is_a?(Hash) hash.each do |key, value| short = 1 == key.length prefix = short ? '-' : '--' separator = short ? ' ' : '=' name = prefix + self.kebab(key) if true == value items << name next end [value].flatten.each do |item| item = "#{item}".gsub(/\\/, '\&\&').gsub('"', '\"') items << %(#{name}#{separator}"#{item}") end next end end return items end