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.



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

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



105
106
107
# File 'lib/takelage.rb', line 105

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)


251
252
253
# File 'lib/takelage.rb', line 251

def self.exit_on_failure?
  true
end

Instance Method Details

#cleanObject

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



199
200
201
# File 'lib/takelage.rb', line 199

def clean
  Takelage::DockerContainer.new.clean
end

#configObject

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



169
170
171
# File 'lib/takelage.rb', line 169

def config
  Takelage::SelfConfig.new.active
end

#copy(dir_or_file, scope) ⇒ Object

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



175
176
177
# File 'lib/takelage.rb', line 175

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

#listObject

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



193
194
195
# File 'lib/takelage.rb', line 193

def list
  Takelage::Self.new.list
end

#loginObject

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



187
188
189
# File 'lib/takelage.rb', line 187

def 
  Takelage::DockerContainer.new.
end

#paste(cid, dir) ⇒ Object

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



205
206
207
# File 'lib/takelage.rb', line 205

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

#projectObject

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



181
182
183
# File 'lib/takelage.rb', line 181

def project
  Takelage::InfoProject.new.active
end

#pruneObject

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



217
218
219
# File 'lib/takelage.rb', line 217

def prune
  Takelage::DockerContainer.new.prune
end

#pullObject

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



211
212
213
# File 'lib/takelage.rb', line 211

def pull
  Takelage::BitClipboard.new.pull
end

#pushObject

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



223
224
225
# File 'lib/takelage.rb', line 223

def push
  Takelage::BitClipboard.new.push
end

#statusObject

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



229
230
231
# File 'lib/takelage.rb', line 229

def status
  Takelage::InfoStatus.new.bar
end

#updateObject

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



235
236
237
# File 'lib/takelage.rb', line 235

def update
  Takelage::DockerImage.new.update
end

#versionObject

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



241
242
243
# File 'lib/takelage.rb', line 241

def version
  Takelage::Self.new.version
end