Class: FaaStRuby::Command::BaseCommand

Inherits:
Object
  • Object
show all
Defined in:
lib/faastruby/cli/base_command.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.spin(message = nil) ⇒ Object



7
8
9
10
11
12
13
# File 'lib/faastruby/cli/base_command.rb', line 7

def self.spin(message=nil)
  s = ":spinner"
  s += " #{message}" if message
  spinner = TTY::Spinner.new(s, format: SPINNER_FORMAT)
  spinner.auto_spin
  spinner
end

Instance Method Details

#has_user_logged_in?Boolean

Returns:

  • (Boolean)


47
48
49
# File 'lib/faastruby/cli/base_command.rb', line 47

def has_user_logged_in?
  NewCredentials::CredentialsFile.new.has_user_logged_in?
end

#helpObject



40
41
42
43
44
45
# File 'lib/faastruby/cli/base_command.rb', line 40

def help
  if ['-h', '--help'].include?(@args.first)
    usage
    exit 0
  end
end

#load_credentialsObject



31
32
33
34
35
36
37
38
# File 'lib/faastruby/cli/base_command.rb', line 31

def load_credentials
  @credentials_file = NewCredentials::CredentialsFile.new
  @credentials = @credentials_file.get
  FaaStRuby.configure do |config|
    config.api_key = @credentials['api_key']
    config.api_secret = @credentials['api_secret']
  end
end

#load_yamlObject



57
58
59
60
61
62
# File 'lib/faastruby/cli/base_command.rb', line 57

def load_yaml
  if File.file?(FAASTRUBY_YAML)
    return YAML.load(File.read(FAASTRUBY_YAML))
  end
  FaaStRuby::CLI.error("Could not find file #{FAASTRUBY_YAML}")
end

#say(message, quiet: false) ⇒ Object



26
27
28
29
# File 'lib/faastruby/cli/base_command.rb', line 26

def say(message, quiet: false)
  return puts "\n#{message}" if quiet
  spin(message)
end

#spin(message) ⇒ Object



51
52
53
54
55
# File 'lib/faastruby/cli/base_command.rb', line 51

def spin(message)
  spinner = TTY::Spinner.new(":spinner #{message}", format: SPINNER_FORMAT)
  spinner.auto_spin
  spinner
end

#write_file(path, content, mode = 'w', print_base_dir: false, extra_content: nil) ⇒ Object



15
16
17
18
19
20
21
22
23
24
# File 'lib/faastruby/cli/base_command.rb', line 15

def write_file(path, content, mode = 'w', print_base_dir: false, extra_content: nil)
  base_dir = print_base_dir ? "#{print_base_dir}/" : ""
  File.open(path, mode) do |f|
    f.write(content)
    f.write(extra_content) if extra_content
  end
  message = "#{mode == 'w' ? '+' : '~'} f #{base_dir}#{path}"
  puts message.green if mode == 'w'
  puts message.yellow if mode == 'w+' || mode == 'a'
end