Class: Takelage::CLI

Inherits:
Thor
  • Object
show all
Includes:
ConfigModule, LoggingModule, ProjectModule, SystemModule
Defined in:
lib/takelage.rb

Overview

takelage

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods included from ProjectModule

#initialize_project

Methods included from ConfigModule

#configured?, #initialize_config

Methods included from SystemModule

#command_available_else_error?, #command_available_else_warn?, #hash_to_yaml, #read_yaml_erb_file, #read_yaml_file, #rm_fr, #run, #run_and_capture, #run_and_exit, #run_and_fork, #try

Methods included from LoggingModule

#initialize_logging, #log

Constructor Details

#initialize(args = [], local_options = {}, configuration = {}) ⇒ CLI

Initialize takelage cli.



114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
# File 'lib/takelage.rb', line 114

def initialize(args = [], local_options = {}, configuration = {})
  # Initialize thor parent class
  super args, local_options, configuration

  # Initialize global singleton log
  initialize_logging options[:loglevel].to_s.upcase

  # Initialize global singleton config
  initialize_config

  # Initialize global singleton project
  initialize_project

  # Set defaults
  @docker_daemon_running = false
  @command_available_docker = false
  @mutagen_daemon_available = false
  @command_available_mutagen = false

  # fylla bash completion code
  @bash_fylla = Fylla.bash_completion self
end

Instance Attribute Details

#bash_fyllaString (readonly)

Returns bash completion code.

Returns:

  • (String)

    bash completion code



107
108
109
# File 'lib/takelage.rb', line 107

def bash_fylla
  @bash_fylla
end

Class Method Details

.exit_on_failure?Boolean

Behave as expected by correctly reporting failure in exit status. See github.com/erikhuda/thor/wiki/Making-An-Executable

Returns:

  • (Boolean)


253
254
255
# File 'lib/takelage.rb', line 253

def self.exit_on_failure?
  true
end

Instance Method Details

#cleanObject

takelage clean: Takelage::CLI.takelagetakelage::DockerContainertakelage::DockerContainer#clean



201
202
203
# File 'lib/takelage.rb', line 201

def clean
  Takelage::DockerContainer.new.clean
end

#configObject

takelage config: Takelage::CLI.takelagetakelage::SelfConfigtakelage::SelfConfig#active



171
172
173
# File 'lib/takelage.rb', line 171

def config
  Takelage::SelfConfig.new.active
end

#copy(dir_or_file, scope) ⇒ Object

takelage copy: Takelage::CLI.takelagetakelage::BitClipboardtakelage::BitClipboard#copy



177
178
179
# File 'lib/takelage.rb', line 177

def copy(dir_or_file, scope)
  Takelage::BitClipboard.new.copy dir_or_file, scope
end

#listObject

takelage version: Takelage::CLI.takelagetakelage::Selftakelage::Self#list



195
196
197
# File 'lib/takelage.rb', line 195

def list
  Takelage::Self.new.list
end

#loginObject

takelage login: Takelage::CLI.takelagetakelage::DockerContainertakelage::DockerContainer#login



189
190
191
# File 'lib/takelage.rb', line 189

def 
  Takelage::DockerContainer.new.
end

#paste(cid, dir) ⇒ Object

takelage paste: Takelage::CLI.takelagetakelage::BitClipboardtakelage::BitClipboard#paste



207
208
209
# File 'lib/takelage.rb', line 207

def paste(cid, dir)
  Takelage::BitClipboard.new.paste cid, dir
end

#projectObject

takelage project: Takelage::CLI.takelagetakelage::InfoProjecttakelage::InfoProject#active



183
184
185
# File 'lib/takelage.rb', line 183

def project
  Takelage::InfoProject.new.active
end

#pruneObject

takelage prune: Takelage::CLI.takelagetakelage::DockerContainertakelage::DockerContainer#prune



219
220
221
# File 'lib/takelage.rb', line 219

def prune
  Takelage::DockerContainer.new.prune
end

#pullObject

takelage pull: Takelage::CLI.takelagetakelage::BitClipboardtakelage::BitClipboard#pull



213
214
215
# File 'lib/takelage.rb', line 213

def pull
  Takelage::BitClipboard.new.pull
end

#pushObject

takelage push: Takelage::CLI.takelagetakelage::BitClipboardtakelage::BitClipboard#push



225
226
227
# File 'lib/takelage.rb', line 225

def push
  Takelage::BitClipboard.new.push
end

#statusObject

takelage status: Takelage::CLI.takelagetakelage::InfoStatustakelage::InfoStatus#bar



231
232
233
# File 'lib/takelage.rb', line 231

def status
  Takelage::InfoStatus.new.bar
end

#updateObject

takelage update: Takelage::CLI.takelagetakelage::DockerImagetakelage::DockerImage#update



237
238
239
# File 'lib/takelage.rb', line 237

def update
  Takelage::DockerImage.new.update
end

#versionObject

takelage version: Takelage::CLI.takelagetakelage::Selftakelage::Self#version



243
244
245
# File 'lib/takelage.rb', line 243

def version
  Takelage::Self.new.version
end