Sha256: 5f9f8279aae2c2a98a5f5a629a16d7d040d4e9c429642f17c9f0d6bb27e4a004

Contents?: true

Size: 704 Bytes

Versions: 15

Compression:

Stored size: 704 Bytes

Contents

module Awestruct
  module Extensions

    class DataDir

      def initialize(data_dir="_data")
        @data_dir = data_dir
      end


      def execute(site)
    
        Dir[ "#{site.dir}/#{@data_dir}/*" ].each do |entry|
          if ( File.directory?( entry ) ) 
            data_key = File.basename( entry )
            data_map = {}
            Dir[ "#{entry}/*" ].each do |chunk|
              File.basename( chunk ) =~ /^([^\.]+)/
              key = $1.to_sym
              chunk_page = site.engine.load_page( chunk )
              data_map[ key ] = chunk_page
            end
            site.send( "#{data_key}=", data_map )
          end
        end
    
      end
    
    end

  end
end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
awestruct-0.2.3 lib/awestruct/extensions/data_dir.rb
awestruct-0.2.2 lib/awestruct/extensions/data_dir.rb
awestruct-0.2.1 lib/awestruct/extensions/data_dir.rb
awestruct-0.2.0 lib/awestruct/extensions/data_dir.rb
awestruct-0.1.9 lib/awestruct/extensions/data_dir.rb
awestruct-0.1.8 lib/awestruct/extensions/data_dir.rb
awestruct-0.1.7 lib/awestruct/extensions/data_dir.rb
awestruct-0.1.6 lib/awestruct/extensions/data_dir.rb
awestruct-0.1.5 lib/awestruct/extensions/data_dir.rb
awestruct-0.1.4 lib/awestruct/extensions/data_dir.rb
awestruct-0.1.3 lib/awestruct/extensions/data_dir.rb
awestruct-0.1.2 lib/awestruct/extensions/data_dir.rb
awestruct-0.1.1 lib/awestruct/extensions/data_dir.rb
awestruct-0.1.0 lib/awestruct/extensions/data_dir.rb
awestruct-0.0.9 lib/awestruct/extensions/data_dir.rb