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



54
55
56
# File 'lib/elasticsearch/extensions/ansi/helpers.rb', line 54

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

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

Return date formatted by interval



29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
# File 'lib/elasticsearch/extensions/ansi/helpers.rb', line 29

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



23
24
25
# File 'lib/elasticsearch/extensions/ansi/helpers.rb', line 23

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

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

Shortcut for ANSI::Table.new



11
12
13
# File 'lib/elasticsearch/extensions/ansi/helpers.rb', line 11

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

#widthObject

Terminal width, based on ANSI::Terminal.terminal_width



17
18
19
# File 'lib/elasticsearch/extensions/ansi/helpers.rb', line 17

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