Class: FastlaneCore::Interface

Inherits:
Object
  • Object
show all
Defined in:
lib/fastlane_core/ui/interface.rb

Overview

Abstract super class

Direct Known Subclasses

Shell

Defined Under Namespace

Classes: FastlaneCrash, FastlaneError

Messaging: show text to the user collapse

Errors: Inputs collapse

Errors: Different kinds of exceptions collapse

Helpers collapse

Instance Method Details

#command(_message) ⇒ Object

Level Command: Print out a terminal command that is being

executed.

By default those messages shown in cyan


52
53
54
# File 'lib/fastlane_core/ui/interface.rb', line 52

def command(_message)
  not_implemented(__method__)
end

#command_output(_message) ⇒ Object

Level Command Output: Print the output of a command with

this method

By default those messages shown in magenta


60
61
62
# File 'lib/fastlane_core/ui/interface.rb', line 60

def command_output(_message)
  not_implemented(__method__)
end

#confirm(_message) ⇒ Object

A simple yes or no question



94
95
96
# File 'lib/fastlane_core/ui/interface.rb', line 94

def confirm(_message)
  not_implemented(__method__)
end

#crash!(exception) ⇒ Object

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

Raises:



131
132
133
# File 'lib/fastlane_core/ui/interface.rb', line 131

def crash!(exception)
  raise FastlaneCrash.new, exception.to_s
end

#deprecated(_message) ⇒ Object

Level Deprecated: Show that a particular function is deprecated

By default those messages shown in strong blue


44
45
46
# File 'lib/fastlane_core/ui/interface.rb', line 44

def deprecated(_message)
  not_implemented(__method__)
end

#error(_message) ⇒ Object

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
fastlane can recover (much magic)

By default those messages are shown in red


14
15
16
# File 'lib/fastlane_core/ui/interface.rb', line 14

def error(_message)
  not_implemented(__method__)
end

#header(_message) ⇒ Object

Print a header = a text in a box

use this if this message is really important


75
76
77
# File 'lib/fastlane_core/ui/interface.rb', line 75

def header(_message)
  not_implemented(__method__)
end

#important(_message) ⇒ Object

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


23
24
25
# File 'lib/fastlane_core/ui/interface.rb', line 23

def important(_message)
  not_implemented(__method__)
end

#input(_message) ⇒ Object

get a standard text input (single line)



89
90
91
# File 'lib/fastlane_core/ui/interface.rb', line 89

def input(_message)
  not_implemented(__method__)
end

#interactive?(_message) ⇒ Boolean

Is is possible to ask the user questions?

Returns:

  • (Boolean)


84
85
86
# File 'lib/fastlane_core/ui/interface.rb', line 84

def interactive?(_message)
  not_implemented(__method__)
end

#message(_message) ⇒ Object

Level Message: Show a neutral message to the user

By default those messages shown in white/black


37
38
39
# File 'lib/fastlane_core/ui/interface.rb', line 37

def message(_message)
  not_implemented(__method__)
end

#not_implemented(method_name) ⇒ Object



151
152
153
# File 'lib/fastlane_core/ui/interface.rb', line 151

def not_implemented(method_name)
  UI.user_error!("Current UI '#{self}' doesn't support method '#{method_name}'")
end

#password(_message) ⇒ Object

Password input for the user, text field shouldn’t show plain text



106
107
108
# File 'lib/fastlane_core/ui/interface.rb', line 106

def password(_message)
  not_implemented(__method__)
end

#select(_message, _options) ⇒ Object

Let the user select one out of x items return value is the value of the option the user chose



100
101
102
# File 'lib/fastlane_core/ui/interface.rb', line 100

def select(_message, _options)
  not_implemented(__method__)
end

#success(_message) ⇒ Object

Level Success: Show that something was successful

By default those messages are shown in green


30
31
32
# File 'lib/fastlane_core/ui/interface.rb', line 30

def success(_message)
  not_implemented(__method__)
end

#to_sObject



155
156
157
# File 'lib/fastlane_core/ui/interface.rb', line 155

def to_s
  self.class.name.split('::').last
end

#user_error!(error_message, options = {}) ⇒ Object

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

Raises:

  • (FastlaneError.new(show_github_issues: options[:show_github_issues]))


143
144
145
146
# File 'lib/fastlane_core/ui/interface.rb', line 143

def user_error!(error_message, options = {})
  options = { show_github_issues: false }.merge(options)
  raise FastlaneError.new(show_github_issues: options[:show_github_issues]), error_message.to_s
end

#verbose(_message) ⇒ Object

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


69
70
71
# File 'lib/fastlane_core/ui/interface.rb', line 69

def verbose(_message)
  not_implemented(__method__)
end