Sha256: 6fece070e97053196d15e59719dffda55507ba9c4bee00753fe72e0ca0cfa05b

Contents?: true

Size: 1.42 KB

Versions: 11

Compression:

Stored size: 1.42 KB

Contents

require 'jsduck/images'
require 'jsduck/welcome'
require 'jsduck/guides'
require 'jsduck/videos'
require 'jsduck/examples'
require 'jsduck/categories'
require 'jsduck/doc_formatter'

module JsDuck

  # Binds together: Welcome page, Categories, Images, Guides, Videos,
  # Examples.
  #
  # Often we need to pass guides/videos/examples/... to several
  # classes. Having all these assets together in here, means we just
  # need to pass one value instead of 3 or more.
  class Assets
    attr_reader :images
    attr_reader :welcome
    attr_reader :guides
    attr_reader :videos
    attr_reader :examples
    attr_reader :categories

    def initialize(relations, opts)
      @relations = relations
      @opts = opts

      doc_formatter = DocFormatter.new(@opts)
      doc_formatter.relations = @relations

      @images = Images.new(@opts.images)
      @welcome = Welcome.create(@opts.welcome)
      @guides = Guides.create(@opts.guides, doc_formatter, @opts)
      @videos = Videos.create(@opts.videos)
      @examples = Examples.create(@opts.examples, @opts)
      @categories = Categories.create(@opts.categories_path, doc_formatter, @relations)
    end

    # Writes out the assets that can be written out separately:
    # guides, images.
    #
    # Welcome page and categories are written in JsDuck::IndexHtml
    def write
      @guides.write(@opts.output_dir+"/guides")
      @images.copy(@opts.output_dir+"/images")
    end

  end

end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
jsduck-4.6.0 lib/jsduck/assets.rb
jsduck-4.5.1 lib/jsduck/assets.rb
jsduck-4.5.0 lib/jsduck/assets.rb
jsduck-4.4.1 lib/jsduck/assets.rb
jsduck-4.4.0 lib/jsduck/assets.rb
jsduck-4.3.2 lib/jsduck/assets.rb
jsduck-4.3.1 lib/jsduck/assets.rb
jsduck-4.3.0 lib/jsduck/assets.rb
jsduck-4.2.1 lib/jsduck/assets.rb
jsduck-4.2.0 lib/jsduck/assets.rb
jsduck-4.1.1 lib/jsduck/assets.rb