Class: Jekyll::Minibundle::DevelopmentFileCollection

Inherits:
Object
  • Object
show all
Defined in:
lib/jekyll/minibundle/development_file_collection.rb

Instance Method Summary collapse

Constructor Details

#initialize(site, config) ⇒ DevelopmentFileCollection

Returns a new instance of DevelopmentFileCollection.



6
7
8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/jekyll/minibundle/development_file_collection.rb', line 6

def initialize(site, config)
  @type = config.fetch('type')
  asset_source_dir = File.join(site.source, config.fetch('source_dir'))
  destination_path = config.fetch('destination_path')

  @files = config.fetch('assets').map do |asset_path|
    asset_basename = "#{asset_path}.#{@type}"
    asset_source = File.join(asset_source_dir, asset_basename)
    asset_destination = File.join(destination_path, asset_basename)
    DevelopmentFile.new(site, asset_source, asset_destination)
  end

  @attributes = config.fetch('attributes')
end

Instance Method Details

#add_as_static_file_to(site) ⇒ Object



21
22
23
24
25
26
# File 'lib/jekyll/minibundle/development_file_collection.rb', line 21

def add_as_static_file_to(site)
  # NOTE: We could optimize here by iterating over site's static
  # files only once instead of per each of our file. Seems like a
  # premature optimization for now, however.
  @files.each { |f| f.add_as_static_file_to(site) }
end

#destination_path_for_markupObject



28
29
30
31
32
# File 'lib/jekyll/minibundle/development_file_collection.rb', line 28

def destination_path_for_markup
  @files.
    map { |f| AssetTagMarkup.make_markup(@type, f.asset_destination_path, @attributes) }.
    join("\n")
end