class Cardio::Mod::Loader::SetLoader

A SetLoader object loads all set modules for a list of mods. The mods are given by a Mod::Dirs object. SetLoader can use three different strategies to load the set modules.

Public Class Methods

new(args={}) click to toggle source
Calls superclass method Cardio::Mod::Loader::new
# File lib/cardio/mod/loader/set_loader.rb, line 8
def initialize args={}
  @no_all = args.delete :no_all
  super load_strategy: args[:load_strategy], mod_dirs: args[:mod_dirs]
end

Public Instance Methods

each_file(&block) click to toggle source
# File lib/cardio/mod/loader/set_loader.rb, line 26
def each_file &block
  pattern_groups.each do |pattern_group|
    each_file_with_patterns pattern_group, &block
  end
end
load() click to toggle source
Calls superclass method Cardio::Mod::Loader#load
# File lib/cardio/mod/loader/set_loader.rb, line 17
def load
  super
  Card::Set.finalize_load
end
load_strategy_class(strategy) click to toggle source
# File lib/cardio/mod/loader/set_loader.rb, line 13
def load_strategy_class strategy
  LoadStrategy.class_for_set strategy
end
pattern_groups() click to toggle source
# File lib/cardio/mod/loader/set_loader.rb, line 32
def pattern_groups
  Card::Set::Pattern.grouped_codes with_all: !@no_all
end
template_class() click to toggle source
# File lib/cardio/mod/loader/set_loader.rb, line 22
def template_class
  SetTemplate
end

Private Instance Methods

each_file_with_patterns(patterns, &block) click to toggle source
# File lib/cardio/mod/loader/set_loader.rb, line 38
def each_file_with_patterns patterns, &block
  each_mod_dir :set do |base_dir|
    patterns.each do |pattern|
      each_file_in_dir base_dir, pattern.to_s, &block
    end
  end
end