module Pakyow::Application::Behavior::Aspects
Maintains known aspects and loads them.
Public Instance Methods
aspect(name)
click to toggle source
Registers an app aspect by name.
# File lib/pakyow/application/behavior/aspects.rb, line 28 def aspect(name) (config.aspects << name.to_sym).uniq! end
Private Instance Methods
__load_aspect(aspect, path: File.join(config.src, aspect.to_s), target: self.class)
click to toggle source
# File lib/pakyow/application/behavior/aspects.rb, line 39 def __load_aspect(aspect, path: File.join(config.src, aspect.to_s), target: self.class) Dir.glob(File.join(path, "*.rb")).sort.each do |file_path| Loader.new(file_path).call(target) end Dir.glob(File.join(path, "*")).select { |sub_path| File.directory?(sub_path) }.sort.each do |directory| __load_aspect(aspect, path: directory, target: target) end end
load_aspect(aspect, path: File.join(config.src, aspect.to_s), target: self.class)
click to toggle source
# File lib/pakyow/application/behavior/aspects.rb, line 35 def load_aspect(aspect, path: File.join(config.src, aspect.to_s), target: self.class) __load_aspect(aspect, path: path, target: target) end