module Elasticsearch::Extensions::ANSI::Helpers

Public Instance Methods

___() click to toggle source

Output divider

# File lib/elasticsearch/extensions/ansi/helpers.rb, line 53
def ___
  ('─'*Helpers.width).ansi(:faint)
end
date(date, interval='day') click to toggle source

Return date formatted by interval

# File lib/elasticsearch/extensions/ansi/helpers.rb, line 28
def date(date, interval='day')
  case interval
    when 'minute'
      date.strftime('%a %m/%d %H:%M') + ' – ' + (date+60).strftime('%H:%M')
    when 'hour'
      date.strftime('%a %m/%d %H:%M') + ' – ' + (date+60*60).strftime('%H:%M')
    when 'day'
      date.strftime('%a %m/%d')
    when 'week'
      days_to_monday = date.wday!=0 ? date.wday-1 : 6
      days_to_sunday = date.wday!=0 ? 7-date.wday : 0
      start = (date - days_to_monday*24*60*60).strftime('%a %m/%d')
      stop  = (date+(days_to_sunday*24*60*60)).strftime('%a %m/%d')
      "#{start} – #{stop}"
    when 'month'
      date.strftime('%B %Y')
    when 'year'
      date.strftime('%Y')
    else
      date.strftime('%Y-%m-%d %H:%M')
  end
end
humanize(string) click to toggle source

Humanize a string

# File lib/elasticsearch/extensions/ansi/helpers.rb, line 22
def humanize(string)
  string.to_s.gsub(/\_/, ' ').split.map { |s| s.capitalize}.join(' ')
end
table(data, options={}, &format) click to toggle source

Shortcut for {::ANSI::Table.new}

# File lib/elasticsearch/extensions/ansi/helpers.rb, line 10
def table(data, options={}, &format)
  ::ANSI::Table.new(data, options, &format)
end
width() click to toggle source

Terminal width, based on {::ANSI::Terminal.terminal_width}

# File lib/elasticsearch/extensions/ansi/helpers.rb, line 16
def width
  ::ANSI::Terminal.terminal_width-5
end