Module: Boson::Manager::AliasLib

Included in:
Boson::Manager
Defined in:
lib/boson/alias.rb

Instance Method Summary collapse

Instance Method Details

#after_create_commands(lib, commands) ⇒ Object



43
44
45
# File 'lib/boson/alias.rb', line 43

def after_create_commands(lib, commands)
  create_command_aliases(lib, commands) if commands.size > 0 && !lib.no_alias_creation
end

#check_for_uncreated_aliases(lib, commands) ⇒ Object



67
68
69
70
71
# File 'lib/boson/alias.rb', line 67

def check_for_uncreated_aliases(lib, commands)
  if (found_commands = Boson.commands.select {|e| commands.include?(e.name)}) && found_commands.find {|e| e.alias }
    $stderr.puts "No aliases created for library #{lib.name} because it has no module"
  end
end

#create_command_aliases(lib, commands) ⇒ Object



47
48
49
# File 'lib/boson/alias.rb', line 47

def create_command_aliases(lib, commands)
  lib.module ? prep_and_create_instance_aliases(commands, lib.module) : check_for_uncreated_aliases(lib, commands)
end

#create_instance_aliases(aliases_hash) ⇒ Object



63
64
65
# File 'lib/boson/alias.rb', line 63

def create_instance_aliases(aliases_hash)
  Alias.manager.create_aliases(:instance_method, aliases_hash)
end

#prep_and_create_instance_aliases(commands, lib_module) ⇒ Object



51
52
53
54
55
56
57
58
59
60
61
# File 'lib/boson/alias.rb', line 51

def prep_and_create_instance_aliases(commands, lib_module)
  aliases_hash = {}
  select_commands = Boson.commands.select {|e| commands.include?(e.name)}
  select_commands.each do |e|
    if e.alias
      aliases_hash[lib_module.to_s] ||= {}
      aliases_hash[lib_module.to_s][e.name] = e.alias
    end
  end
  create_instance_aliases(aliases_hash)
end