Class: GatgetGatgetsManager

Inherits:
Gat::Base show all
Defined in:
lib/gatgets/gatgets_manager/gatgets_manager.rb

Instance Attribute Summary

Attributes inherited from Gat::Base

#arguments, #config, #debug, #flags, #logger, #name, #onfail_error, #operation, #path, #times, #variables, #verbose

Instance Method Summary collapse

Methods inherited from Gat::Base

#execute, #get_dependence_value, #get_dependence_variable, #get_element_config, #get_flag, #initialize, #set_dependence_variable, #set_flag

Methods included from Gat::Email

#create_and_deliver_email, #new_email, #send_email

Methods included from Gat::Launcher

included

Methods included from Gat::Help

#gatget_help, #returning

Methods included from Gat::Debug

#get_debug_levels, #print_debug_msg

Methods included from Gat::Checks

#check_enough_space, #check_false, #check_file_exists, #check_file_not_exists, #check_i_am_running, #check_true, #exit_if_i_am_running, #need_arguments

Constructor Details

This class inherits a constructor from Gat::Base

Instance Method Details

#list_system_gatgetsObject



46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
# File 'lib/gatgets/gatgets_manager/gatgets_manager.rb', line 46

def list_system_gatgets
  
  gatgets_path    = "#{ Gem.default_dir }/gems/gat-#{ Gat::VERSION }/lib/gatgets"
  
 
  avalaible_gatgets = {}
  # get avalaible_gatgets but exclude gatget_manager one
  (Dir.new(gatgets_path).entries - [ '.', '..' , 'gatgets_manager']).each do |gatget_folder|
    if Dir.new("#{ gatgets_path }/#{ gatget_folder }").entries.include?("#{ gatget_folder }.yml")
	gatget_config = YAML.load_file("#{ gatgets_path }/#{ gatget_folder }/#{ gatget_folder }.yml")

	avalaible_gatgets[gatget_folder] = (gatget_config['description'] || "#{ gatget_folder.camelize } gatget")
    end
  end
  
  set_dependence_variable("avalaible_gatgets", avalaible_gatgets)
  
end

#valid_gatget_nameObject

valid_gatget_name will search at gagets path if we have a valid gatget script



27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# File 'lib/gatgets/gatgets_manager/gatgets_manager.rb', line 27

def valid_gatget_name
  
  gatget_name     = get_dependence_value("arguments", "gatget_name") 
  gatgets_path    = "#{ Gem.default_dir }/gems/gat-#{ Gat::VERSION }/lib/gatgets"
  launcher_place  = get_dependence_value("arguments", "launcher_path")
  
  set_flag("launcher_exists", false)
  
  if not Dir.new(gatgets_path).entries.include?(gatget_name)
    self.logger.log('direct', 'valid_gatget_name', "\n ERROR: `#{ gatget_name }` not found at `#{ gatgets_path }` \n\n")
  elsif not Dir.new("#{ gatgets_path }/#{ gatget_name }").entries.include?("launcher.rb")
    self.logger.log('direct', 'valid_gatget_name', "\n ERROR: `launcher.rb` not found at `#{ gatgets_path }/#{ gatget_name }` \n\n")
  else
    set_flag("launcher_exists", true)
    set_dependence_variable("gatgets_path", gatgets_path)
    self.logger.log('direct', 'valid_gatget_name', "\n Launcher for gatget `#{ gatget_name }` will be placed at #{ launcher_place }/gatget_#{ gatget_name }` \n\n Edit and customize it.")
  end
end