module BotConsole::Config
Constants
- EXCLUDED
Public Instance Methods
Source
# File lib/bot_console/config.rb, line 30 def bot_entry(root, path) basename = path.basename(".yml").to_s raw = YAML.safe_load_file(path, aliases: false) || {} level = bot_level(raw) { id: basename, name: basename.tr("_", " ").split.map(&:capitalize).join(" "), config_path: path.to_s, rel_config: path.relative_path_from(Pathname(root)).to_s, level: level } end
Source
# File lib/bot_console/config.rb, line 43 def bot_level(raw) BotIdentity.resolve_level( bot_role: raw["bot_role"], level: raw["level"] ) end
Source
# File lib/bot_console/config.rb, line 19 def discover_bots(root) bots_dir = Pathname(root).join("config", "bots") return [] unless bots_dir.directory? bots_dir .glob("*.yml") .map { |path| bot_entry(root, path) } .reject { |entry| EXCLUDED.include?(entry[:id]) } .sort_by { |entry| [-level_rank(entry[:level]), entry[:id]] } end
Source
# File lib/bot_console/config.rb, line 50 def level_rank(level) RabbotDb.level_rank(level) end