class Object

Constants

ACCEPTED

Public Instance Methods

escaped(name) click to toggle source
# File bin/jsonflat, line 4
def escaped name
  if name =~ /\.=/
    name.inspect
  else
    name
  end
end
format(node) click to toggle source
# File bin/jsonflat, line 20
def format node
  case node
  when nil
    'null'
  else
    node.inspect
  end
end
help() click to toggle source
# File bin/rrtmux, line 5
def help
  print "Usage: rrtmux [ssh options] hostname\n" \
    "  Connects over ssh, attaches or creates a tmux session, handles disconnects\n"
end
parse_spec(spec) click to toggle source
# File bin/cols, line 27
def parse_spec spec
  case spec
  when /(\d*)-(\d*)/
    lower = $1.empty? ? 1 : $1.to_i
    upper = $2.empty? ? 1.0/0.0 : $2.to_i
    lower..upper
  when /\+(\d+)/
    -($1.to_i)
  else
    spec.to_i
  end
end
subpath(parent, name) click to toggle source
# File bin/jsonflat, line 12
def subpath parent, name
  if parent
    "#{parent}.#{escaped name}"
  else
    escaped name
  end
end
traverse(node, path) click to toggle source
# File bin/jsonflat, line 29
def traverse node, path
  case node
  when Hash
    node.each_pair do |k, v|
      traverse v, subpath(path, k)
    end
  when Enumerable
    node.each_with_index do |v, i|
      traverse v, subpath(path, i)
    end
  else
    puts "#{path}=#{format node}"
  end
end