Sha256: b1c33669c182aed4d3b1d736f50295b5eeaecacd7f1a87340fba8107eed495a2

Contents?: true

Size: 1.18 KB

Versions: 53

Compression:

Stored size: 1.18 KB

Contents

module Locomotive
  module Steam
    module Adapters
      module Filesystem
        module YAMLLoaders

          class ThemeAsset

            include Adapters::Filesystem::YAMLLoader

            def load(scope)
              super
              [].tap do |list|
                each_file do |filepath, folder|
                  list << { source: filepath, folder: folder }
                end
              end
            end

            private

            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

            def exclude?(file)
              File.directory?(file) ||
              file.starts_with?(File.join(path, 'samples')) ||
              File.basename(file).starts_with?('_')
            end

            def path
              @path ||= File.join(site_path, 'public')
            end

          end
        end
      end
    end
  end
end

Version data entries

53 entries across 53 versions & 1 rubygems

Version Path
locomotivecms_steam-1.8.0.alpha2 lib/locomotive/steam/adapters/filesystem/yaml_loaders/theme_asset.rb
locomotivecms_steam-1.8.0.alpha1 lib/locomotive/steam/adapters/filesystem/yaml_loaders/theme_asset.rb
locomotivecms_steam-1.7.1 lib/locomotive/steam/adapters/filesystem/yaml_loaders/theme_asset.rb
locomotivecms_steam-1.7.0 lib/locomotive/steam/adapters/filesystem/yaml_loaders/theme_asset.rb
locomotivecms_steam-1.6.1 lib/locomotive/steam/adapters/filesystem/yaml_loaders/theme_asset.rb
locomotivecms_steam-1.6.0 lib/locomotive/steam/adapters/filesystem/yaml_loaders/theme_asset.rb
locomotivecms_steam-1.6.0.rc1 lib/locomotive/steam/adapters/filesystem/yaml_loaders/theme_asset.rb
locomotivecms_steam-1.6.0.beta1 lib/locomotive/steam/adapters/filesystem/yaml_loaders/theme_asset.rb
locomotivecms_steam-1.5.3 lib/locomotive/steam/adapters/filesystem/yaml_loaders/theme_asset.rb
locomotivecms_steam-1.5.2 lib/locomotive/steam/adapters/filesystem/yaml_loaders/theme_asset.rb
locomotivecms_steam-1.5.1 lib/locomotive/steam/adapters/filesystem/yaml_loaders/theme_asset.rb
locomotivecms_steam-1.5.0 lib/locomotive/steam/adapters/filesystem/yaml_loaders/theme_asset.rb
locomotivecms_steam-1.5.0.rc1 lib/locomotive/steam/adapters/filesystem/yaml_loaders/theme_asset.rb
locomotivecms_steam-1.5.0.rc0 lib/locomotive/steam/adapters/filesystem/yaml_loaders/theme_asset.rb
locomotivecms_steam-1.5.0.beta3 lib/locomotive/steam/adapters/filesystem/yaml_loaders/theme_asset.rb
locomotivecms_steam-1.5.0.beta2 lib/locomotive/steam/adapters/filesystem/yaml_loaders/theme_asset.rb
locomotivecms_steam-1.5.0.beta1 lib/locomotive/steam/adapters/filesystem/yaml_loaders/theme_asset.rb
locomotivecms_steam-1.4.1 lib/locomotive/steam/adapters/filesystem/yaml_loaders/theme_asset.rb
locomotivecms_steam-1.4.0 lib/locomotive/steam/adapters/filesystem/yaml_loaders/theme_asset.rb
locomotivecms_steam-1.4.0.rc2 lib/locomotive/steam/adapters/filesystem/yaml_loaders/theme_asset.rb