Sha256: 5bfc077683190013006e1c7d035c9aa912955ac49970ff1b958e69f6690d4671

Contents?: true

Size: 1.13 KB

Versions: 8

Compression:

Stored size: 1.13 KB

Contents

require 'jsduck/json_duck'
require 'jsduck/icons'
require 'jsduck/search_data'
require 'jsduck/stats'
require 'jsduck/meta_tag_registry'

module JsDuck

  # Creates big JS file with data for Docs app.
  class AppData
    def initialize(relations, assets, opts)
      @relations = relations
      @assets = assets
      @opts = opts
    end

    # Writes classes, guides, videos, and search data to one big .js file
    def write(filename)
      js = "Docs = " + JsonDuck.generate({
        :data => {
          :classes => Icons.new.create(@relations.classes),
          :guides => @assets.guides.to_array,
          :videos => @assets.videos.to_array,
          :examples => @assets.examples.to_array,
          :search => SearchData.new.create(@relations.classes, @assets),
          :stats => @opts.stats ? Stats.new.create(@relations.classes) : [],
          :signatures => MetaTagRegistry.instance.signatures,
          :localStorageDb => @opts.local_storage_db,
          :showPrintButton => @opts.seo,
          :touchExamplesUi => @opts.touch_examples_ui,
        }
      }) + ";\n"
      File.open(filename, 'w') {|f| f.write(js) }
    end

  end

end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
jsduck-3.9.1 lib/jsduck/app_data.rb
jsduck-3.9.0 lib/jsduck/app_data.rb
jsduck-3.9.0.pre lib/jsduck/app_data.rb
jsduck-3.8.4 lib/jsduck/app_data.rb
jsduck-3.8.3 lib/jsduck/app_data.rb
jsduck-3.8.2 lib/jsduck/app_data.rb
jsduck-3.8.1 lib/jsduck/app_data.rb
jsduck-3.8.0 lib/jsduck/app_data.rb