class U3dCore::Interface
Abstract super class
Public Instance Methods
Level Command: Print out a terminal command that is being
executed. By default those messages shown in cyan
# File lib/u3d_core/ui/interface.rb, line 75 def command(_message) not_implemented(__method__) end
Level Command Output: Print the output of a command with
this method By default those messages shown in magenta
# File lib/u3d_core/ui/interface.rb, line 83 def command_output(_message) not_implemented(__method__) end
A simple yes or no question
# File lib/u3d_core/ui/interface.rb, line 117 def confirm(_message) not_implemented(__method__) end
Pass an exception to this method to exit the program
using the given exception
Use this method instead of user_error! if this error is unexpected, e.g. an invalid server response that shouldn't happen
# File lib/u3d_core/ui/interface.rb, line 154 def crash!(exception) raise UICrash.new, exception.to_s end
Level Deprecated: Show that a particular function is deprecated
By default those messages shown in strong blue
# File lib/u3d_core/ui/interface.rb, line 67 def deprecated(_message) not_implemented(__method__) end
Level Error: Can be used to show additional error
information before actually raising an exception or can be used to just show an error from which u3d can recover (much magic) By default those messages are shown in red
# File lib/u3d_core/ui/interface.rb, line 37 def error(_message) not_implemented(__method__) end
Print a header = a text in a box
use this if this message is really important
# File lib/u3d_core/ui/interface.rb, line 98 def header(_message) not_implemented(__method__) end
Level Important: Can be used to show warnings to the user
not necessarly negative, but something the user should be aware of. By default those messages are shown in yellow
# File lib/u3d_core/ui/interface.rb, line 46 def important(_message) not_implemented(__method__) end
get a standard text input (single line)
# File lib/u3d_core/ui/interface.rb, line 112 def input(_message) not_implemented(__method__) end
Is is possible to ask the user questions?
# File lib/u3d_core/ui/interface.rb, line 107 def interactive?(_message) not_implemented(__method__) end
Level Message: Show a neutral message to the user
By default those messages shown in white/black
# File lib/u3d_core/ui/interface.rb, line 60 def message(_message) not_implemented(__method__) end
@!group Helpers
# File lib/u3d_core/ui/interface.rb, line 174 def not_implemented(method_name) UI.user_error!("Current UI '#{self}' doesn't support method '#{method_name}'") end
Password input for the user, text field shouldn't show plain text
# File lib/u3d_core/ui/interface.rb, line 129 def password(_message) not_implemented(__method__) end
Let the user select one out of x items return value is the value of the option the user chose
# File lib/u3d_core/ui/interface.rb, line 123 def select(_message, _options) not_implemented(__method__) end
Level Success: Show that something was successful
By default those messages are shown in green
# File lib/u3d_core/ui/interface.rb, line 53 def success(_message) not_implemented(__method__) end
# File lib/u3d_core/ui/interface.rb, line 178 def to_s self.class.name.split('::').last end
Use this method to exit the program because of an user error
e.g. app doesn't exist on the given Developer Account or invalid user credentials or scan tests fail
This will show the error message, but doesn't show the full
stack trace
Basically this should be used when you actively catch the error and want to show a nice error message to the user
# File lib/u3d_core/ui/interface.rb, line 166 def user_error!(error_message, options = {}) options = { show_github_issues: false }.merge(options) raise UIError.new(show_github_issues: options[:show_github_issues]), error_message.to_s end
Level Verbose: Print out additional information for the
users that are interested. Will only be printed when $verbose = true By default those messages are shown in white
# File lib/u3d_core/ui/interface.rb, line 92 def verbose(_message) not_implemented(__method__) end