Module: Elasticsearch::Extensions::ANSI::Helpers

Extended by:
Helpers
Included in:
Helpers
Defined in:
lib/elasticsearch/extensions/ansi/helpers.rb

Instance Method Summary collapse

Instance Method Details

#___Object

Output divider



71
72
73
# File 'lib/elasticsearch/extensions/ansi/helpers.rb', line 71

def ___
  (''*Helpers.width).ansi(:faint)
end

#date(date, interval = 'day') ⇒ Object

Return date formatted by interval



46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
# File 'lib/elasticsearch/extensions/ansi/helpers.rb', line 46

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) ⇒ Object

Humanize a string



40
41
42
# File 'lib/elasticsearch/extensions/ansi/helpers.rb', line 40

def humanize(string)
  string.to_s.gsub(/\_/, ' ').split.map { |s| s.capitalize}.join(' ')
end

#table(data, options = {}, &format) ⇒ Object

Shortcut for ANSI::Table.new



28
29
30
# File 'lib/elasticsearch/extensions/ansi/helpers.rb', line 28

def table(data, options={}, &format)
  ::ANSI::Table.new(data, options, &format)
end

#widthObject

Terminal width, based on ANSI::Terminal.terminal_width



34
35
36
# File 'lib/elasticsearch/extensions/ansi/helpers.rb', line 34

def width
  ::ANSI::Terminal.terminal_width-5
end