Module: DockerCore::Paser
- Defined in:
- lib/docker_core.rb
Class Method Summary collapse
Class Method Details
.arguments(*items) ⇒ Object
265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 |
# File 'lib/docker_core.rb', line 265 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.(item)) next end list << "#{item}" next end return list end |
.boolean(text) ⇒ Object
228 229 230 |
# File 'lib/docker_core.rb', line 228 def self.boolean(text) return %w[true yes on].include?("#{text}".strip.downcase) end |
.kebab(text) ⇒ Object
233 234 235 |
# File 'lib/docker_core.rb', line 233 def self.kebab(text) return "#{text}".gsub(/_/, '-') end |
.options(hash) ⇒ Object
238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 |
# File 'lib/docker_core.rb', line 238 def self.(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 |