Class: JsDuck::Assets

Inherits:
Object
  • Object
show all
Defined in:
lib/jsduck/assets.rb

Overview

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.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(relations, opts) ⇒ Assets

Returns a new instance of Assets.



28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/jsduck/assets.rb', line 28

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

  doc_formatter = Format::Doc.new(@relations, @opts)

  @images = Img::DirSet.new(@opts.images, "images")
  @welcome = Welcome.create(@opts.welcome, doc_formatter)
  @guides = Guides.create(@opts.guides, doc_formatter, @opts)
  @videos = Videos.create(@opts.videos)
  @examples = Examples.create(@opts.examples, @opts)
  @categories = Categories::Factory.create(@opts.categories, doc_formatter, @relations)
  @news = News.create(@relations, doc_formatter, @opts)
end

Instance Attribute Details

#categoriesObject (readonly)

Returns the value of attribute categories.



25
26
27
# File 'lib/jsduck/assets.rb', line 25

def categories
  @categories
end

#examplesObject (readonly)

Returns the value of attribute examples.



24
25
26
# File 'lib/jsduck/assets.rb', line 24

def examples
  @examples
end

#guidesObject (readonly)

Returns the value of attribute guides.



22
23
24
# File 'lib/jsduck/assets.rb', line 22

def guides
  @guides
end

#imagesObject (readonly)

Returns the value of attribute images.



20
21
22
# File 'lib/jsduck/assets.rb', line 20

def images
  @images
end

#newsObject (readonly)

Returns the value of attribute news.



26
27
28
# File 'lib/jsduck/assets.rb', line 26

def news
  @news
end

#videosObject (readonly)

Returns the value of attribute videos.



23
24
25
# File 'lib/jsduck/assets.rb', line 23

def videos
  @videos
end

#welcomeObject (readonly)

Returns the value of attribute welcome.



21
22
23
# File 'lib/jsduck/assets.rb', line 21

def welcome
  @welcome
end

Instance Method Details

#writeObject

Writes out the assets that can be written out separately: guides, images.

Welcome page and categories are written in JsDuck::IndexHtml



47
48
49
50
# File 'lib/jsduck/assets.rb', line 47

def write
  @guides.write(@opts.output+"/guides")
  Img::Writer.copy(@images.all_used, @opts.output+"/images")
end