Class: SearchKit::Messages::Messaging::Message

Inherits:
Object
  • Object
show all
Defined in:
lib/search_kit/messages/messaging.rb

Overview

Most of the logic for the Messaging module exists in this (not so) private class. This lets more complex handling of message logic enter into the module gracefully, for example silence or logging level.

Defined Under Namespace

Classes: Prefixed

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(message) ⇒ Message

Returns a new instance of Message.



35
36
37
38
# File 'lib/search_kit/messages/messaging.rb', line 35

def initialize(message)
  @message = message
  @cli     = HighLine.new
end

Instance Attribute Details

#cliObject (readonly)

Returns the value of attribute cli.



33
34
35
# File 'lib/search_kit/messages/messaging.rb', line 33

def cli
  @cli
end

#messageObject (readonly)

Returns the value of attribute message.



33
34
35
# File 'lib/search_kit/messages/messaging.rb', line 33

def message
  @message
end

Instance Method Details

#infoObject



45
46
47
48
# File 'lib/search_kit/messages/messaging.rb', line 45

def info
  Kernel.puts(Prefixed(message.ansi(:cyan))) if SearchKit.config.verbose
  SearchKit.logger.info message
end

#password_promptObject



54
55
56
57
58
# File 'lib/search_kit/messages/messaging.rb', line 54

def password_prompt
  cli.ask(Prefixed(message.ansi(:cyan))) do |prompt|
    prompt.echo = '*'
  end
end

#promptObject



50
51
52
# File 'lib/search_kit/messages/messaging.rb', line 50

def prompt
  cli.ask(Prefixed(message.ansi(:cyan)))
end

#warnObject



40
41
42
43
# File 'lib/search_kit/messages/messaging.rb', line 40

def warn
  Kernel.warn(Prefixed(message.ansi(:red))) if SearchKit.config.verbose
  SearchKit.logger.warn message
end