class Locomotive::Steam::Adapters::Filesystem::YAMLLoaders::ThemeAsset

Public Instance Methods

load(scope) click to toggle source
# File lib/locomotive/steam/adapters/filesystem/yaml_loaders/theme_asset.rb, line 11
def load(scope)
  super
  [].tap do |list|
    each_file do |filepath, folder|
      list << { source: filepath, folder: folder }
    end
  end
end

Private Instance Methods

each_file() { |file, folder| ... } click to toggle source
# File lib/locomotive/steam/adapters/filesystem/yaml_loaders/theme_asset.rb, line 22
def each_file(&block)
  # Follows symlinks and makes sure subdirectories are handled
  pattern = ['**', '*', '**', '*']

  Dir.glob(File.join(path, *pattern)).each do |file|
    next if exclude?(file)

    folder = File.dirname(file.gsub(File.join(path, ''), ''))

    yield(file, folder)
  end
end
exclude?(file) click to toggle source
# File lib/locomotive/steam/adapters/filesystem/yaml_loaders/theme_asset.rb, line 35
def exclude?(file)
  File.directory?(file) ||
  file.starts_with?(File.join(path, 'samples')) ||
  File.basename(file).starts_with?('_')
end
path() click to toggle source
# File lib/locomotive/steam/adapters/filesystem/yaml_loaders/theme_asset.rb, line 41
def path
  @path ||= File.join(site_path, 'public')
end