Sha256: be28b2ea6e230d6f1022be28a13e6756aa669d70eeaeb57053490308aa0bc066

Contents?: true

Size: 1.29 KB

Versions: 52

Compression:

Stored size: 1.29 KB

Contents

require 'jsduck/inline_examples'

module JsDuck
  module Exporter

    # Exporter for inline examples.
    #
    # It produces the following structure:
    #
    # {
    #   :type => :class,  # can also be :guide
    #   :name => "Panel",
    #   :examples => [
    #     {:code => "bla bla", :options => {}},
    #     {:code => "bla bla", :options => {"raw" => true}},
    #     ...
    #   ]
    # }
    #
    class Examples
      def initialize(relations, opts)
        # All params ignored, they're present to be compatible with
        # other exporters.
        @inline_examples = InlineExamples.new
      end

      # Returns hash of class name and inline examples
      def export(cls)
        examples = @inline_examples.extract(cls[:doc])
        if examples.length > 0
          {
            :type => :class,
            :name => cls[:name],
            :examples => examples,
          }
        else
          nil
        end
      end

      # Returns hash of guide name and inline examples
      def export_guide(guide)
        examples = @inline_examples.extract(guide[:html] || "")
        if examples.length > 0
          {
            :type => :guide,
            :name => guide["name"],
            :examples => examples,
          }
        else
          nil
        end
      end

    end

  end
end

Version data entries

52 entries across 52 versions & 3 rubygems

Version Path
jsduck-5.3.0 lib/jsduck/exporter/examples.rb
jsduck-5.2.0 lib/jsduck/exporter/examples.rb
jsduck-5.1.0 lib/jsduck/exporter/examples.rb
jsduck-5.0.1 lib/jsduck/exporter/examples.rb
jsduck-5.0.0 lib/jsduck/exporter/examples.rb
jsduck-5.0.0.beta5 lib/jsduck/exporter/examples.rb
jsduck-5.0.0.beta4 lib/jsduck/exporter/examples.rb
jsduck-4.10.4 lib/jsduck/exporter/examples.rb
jsduck-5.0.0.beta3 lib/jsduck/exporter/examples.rb
jsduck-4.10.3 lib/jsduck/exporter/examples.rb
jsduck-4.10.2 lib/jsduck/exporter/examples.rb
jsduck-4.10.1 lib/jsduck/exporter/examples.rb
jsduck-4.10.0 lib/jsduck/exporter/examples.rb
jsduck-4.9.0 lib/jsduck/exporter/examples.rb
jsduck-4.8.0 lib/jsduck/exporter/examples.rb
jsduck-5.0.0.beta2 lib/jsduck/exporter/examples.rb
jsduck-4.7.1 lib/jsduck/exporter/examples.rb
jsduck-4.7.0 lib/jsduck/exporter/examples.rb
jsduck-5.0.0.beta01 lib/jsduck/exporter/examples.rb
jsduck-4.6.2 lib/jsduck/exporter/examples.rb