Module: Esse::CLI::EventListener
  
  
  
  
  
  
  
      - Extended by:
 
      - Output
 
  
  
  
  
  
  
  
  
    - Defined in:
 
    - lib/esse/cli/event_listener.rb
 
  
  
 
  
    
      Class Method Summary
      collapse
    
    
  
  
  
  
  
  
  
  
  
  Methods included from Output
  colorize, formatted_runtime, print_backtrace, print_error, print_message, runtime_padding
  
    Class Method Details
    
      
  
  
    .[](event_name)  ⇒ Object 
  
  
  
  
    
      
12
13
14
15
16
17 
     | 
    
      # File 'lib/esse/cli/event_listener.rb', line 12
def [](event_name)
  method_name = Hstring.new(event_name).underscore.to_sym
  return unless respond_to?(method_name)
  method(method_name)
end 
     | 
  
 
    
      
  
  
    .elasticsearch_bulk(event)  ⇒ Object 
  
  
  
  
    
      
86
87
88
89
90
91
92
93
94
95
96
97 
     | 
    
      # File 'lib/esse/cli/event_listener.rb', line 86
def elasticsearch_bulk(event)
  print_message('[%<runtime>s] Bulk index %<name>s%<type>s%<wait_interval>s: ',
    runtime: formatted_runtime(event[:runtime]),
    name: colorize(event[:request][:index], :bold),
    type: (event[:request][:type] ? " for type #{colorize(event[:request][:type], :bold)}" : ''),
    wait_interval: (event[:wait_interval].nonzero? ? " (wait interval #{event[:wait_interval]}s)" : ''),
    newline: false,)
  stats = event[:body_stats].select { |_, v| v.nonzero? }.map do |type, count|
    "#{colorize(type, :bold)}: #{count} docs"
  end
  print_message(stats.join(', ') + '.')
end
     | 
  
 
    
      
  
  
    .elasticsearch_close(event)  ⇒ Object 
  
  
  
  
    
      
34
35
36
37
38 
     | 
    
      # File 'lib/esse/cli/event_listener.rb', line 34
def elasticsearch_close(event)
  print_message '[%<runtime>s] Index %<name>s successfuly closed',
    name: colorize(event[:request][:index], :bold),
    runtime: formatted_runtime(event[:runtime])
end
     | 
  
 
    
      
  
  
    .elasticsearch_create_index(event)  ⇒ Object 
  
  
  
  
    
      
19
20
21
22
23
24
25
26 
     | 
    
      # File 'lib/esse/cli/event_listener.rb', line 19
def elasticsearch_create_index(event)
  print_message '[%<runtime>s] Index %<name>s successfuly created',
    name: colorize(event[:request][:index], :bold),
    runtime: formatted_runtime(event[:runtime])
  if (aliases = event.to_h.dig(:request, :body, :aliases)).is_a?(Hash)
    print_message ' --> Aliases: %<aliases>s', aliases: aliases.keys.join(', ')
  end
end
     | 
  
 
    
      
  
  
    .elasticsearch_delete_index(event)  ⇒ Object 
  
  
  
  
    
      
28
29
30
31
32 
     | 
    
      # File 'lib/esse/cli/event_listener.rb', line 28
def elasticsearch_delete_index(event)
  print_message '[%<runtime>s] Index %<name>s successfuly deleted',
    name: colorize(event[:request][:index], :bold),
    runtime: formatted_runtime(event[:runtime])
end
     | 
  
 
    
      
  
  
    .elasticsearch_open(event)  ⇒ Object 
  
  
  
  
    
      
40
41
42
43
44 
     | 
    
      # File 'lib/esse/cli/event_listener.rb', line 40
def elasticsearch_open(event)
  print_message '[%<runtime>s] Index %<name>s successfuly opened',
    name: colorize(event[:request][:index], :bold),
    runtime: formatted_runtime(event[:runtime])
end
     | 
  
 
    
      
  
  
    .elasticsearch_reindex(event)  ⇒ Object 
  
  
  
  
    
      
99
100
101
102
103
104 
     | 
    
      # File 'lib/esse/cli/event_listener.rb', line 99
def elasticsearch_reindex(event)
  print_message '[%<runtime>s] Reindex from %<from>s to %<to>s successfuly completed',
    from: colorize(event[:request].dig(:body, :source, :index), :bold),
    to: colorize(event[:request].dig(:body, :dest, :index), :bold),
    runtime: formatted_runtime(event[:runtime])
end
     | 
  
 
    
      
  
  
    .elasticsearch_update_aliases(event)  ⇒ Object 
  
  
  
  
    
      
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84 
     | 
    
      # File 'lib/esse/cli/event_listener.rb', line 65
def elasticsearch_update_aliases(event)
  actions = event[:request].dig(:body, :actions) || []
  removed = actions.select { |a| a.key?(:remove) }
  added = actions.select { |a| a.key?(:add) }
  print_message '[%<runtime>s] Successfuly updated aliases:',
    runtime: formatted_runtime(event[:runtime])
  removed.each do |action|
    print_message '%<padding>s-> Index %<name>s removed from alias %<alias>s',
      name: colorize(action[:remove][:index], :bold),
      alias: colorize(action[:remove][:alias], :bold),
      padding: runtime_padding(event[:runtime])
  end
  added.each do |action|
    print_message '%<padding>s-> Index %<name>s added to alias %<alias>s',
      name: colorize(action[:add][:index], :bold),
      alias: colorize(action[:add][:alias], :bold),
      padding: runtime_padding(event[:runtime])
  end
end
     | 
  
 
    
      
  
  
    .elasticsearch_update_mapping(event)  ⇒ Object 
  
  
  
  
    
      
46
47
48
49
50
51
52
53
54
55
56
57 
     | 
    
      # File 'lib/esse/cli/event_listener.rb', line 46
def elasticsearch_update_mapping(event)
  if event[:request][:type]
    print_message '[%<runtime>s] Index %<name>s mapping for type %<type>s successfuly updated',
      name: colorize(event[:request][:index], :bold),
      type: event[:request][:type],
      runtime: formatted_runtime(event[:runtime])
  else
    print_message '[%<runtime>s] Index %<name>s successfuly updated mapping',
      name: colorize(event[:request][:index], :bold),
      runtime: formatted_runtime(event[:runtime])
  end
end
     | 
  
 
    
      
  
  
    .elasticsearch_update_settings(event)  ⇒ Object 
  
  
  
  
    
      
59
60
61
62
63 
     | 
    
      # File 'lib/esse/cli/event_listener.rb', line 59
def elasticsearch_update_settings(event)
  print_message '[%<runtime>s] Index %<name>s successfuly updated settings',
    name: colorize(event[:request][:index], :bold),
    runtime: formatted_runtime(event[:runtime])
end
     |