Class: Version

Inherits:
Thor
  • Object
show all
Includes:
Mixin::Database, Mixin::Logger
Defined in:
lib/fox/interface/thor/version.rb

Instance Method Summary collapse

Methods included from Mixin::Database

#add_command, #add_model, #all_models, #check_if_version_available_for_model, #clear_default_model, #default_model_defined?, #get_default_model, #set_default_model, #set_default_model_version

Methods included from Mixin::Logger

#initialize

Instance Method Details

#set(version) ⇒ Object



31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# File 'lib/fox/interface/thor/version.rb', line 31

def set version

  @logger.message :info, "Running Fox Version #set for #{version}"

  abort("Default model not defined! Run `fox default <ModelName>` for set default model") if !default_model_defined? 

  current_default_model = get_default_model

  if ! ( check_if_version_available_for_model current_default_model.name, version )
    available_versions = all_models.find_all do |model|
      model.name == current_default_model.name
    end.map(&:version).join("\n")  
    abort("Not Found #{version} for #{current_default_model.name}. Available Versions for #{current_default_model.name}:\n#{available_versions}")
  end

  set_default_model_version version
  @logger.message :info, "Set Default Version #{version} for #{current_default_model.name}"
end

#showObject



22
23
24
25
# File 'lib/fox/interface/thor/version.rb', line 22

def show
  version = Fox::VERSION
  puts version
end