Class: JsDuck::Examples
- Inherits:
-
GroupedAsset
- Object
- GroupedAsset
- JsDuck::Examples
- Defined in:
- lib/jsduck/examples.rb
Overview
Reads in examples JSON file
Class Method Summary collapse
-
.create(filename, opts) ⇒ Object
Creates Examples object from filename.
Instance Method Summary collapse
-
#fix_examples_data ⇒ Object
Prefix all relative URL-s in examples list with path given in –examples-base-url.
-
#icon_url(example) ⇒ Object
Extracts example icon URL from example hash.
-
#initialize(filename, opts) ⇒ Examples
constructor
Parses examples config file.
Methods inherited from GroupedAsset
#[], #build_map_by_name, #each_item, #map_items, #to_array
Constructor Details
Class Method Details
.create(filename, opts) ⇒ Object
Creates Examples object from filename.
10 11 12 13 14 15 16 |
# File 'lib/jsduck/examples.rb', line 10 def self.create(filename, opts) if filename Examples.new(filename, opts) else Util::NullObject.new(:to_array => [], :[] => nil) end end |
Instance Method Details
#fix_examples_data ⇒ Object
Prefix all relative URL-s in examples list with path given in –examples-base-url
For backwards compatibility:
-
Create names for each example when not present
-
Create title from text
-
Create description from desc
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
# File 'lib/jsduck/examples.rb', line 34 def fix_examples_data each_item do |ex| ex["name"] = ex["url"] unless ex["name"] unless ex["url"] =~ /^https?:\/\// ex["url"] = @opts.examples_base_url + ex["url"] end unless ex["icon"] =~ /^https?:\/\// ex["icon"] = @opts.examples_base_url + ex["icon"] end unless ex["title"] ex["title"] = ex["text"] ex.delete("text") end unless ex["description"] ex["description"] = ex["desc"] ex.delete("desc") end end end |
#icon_url(example) ⇒ Object
Extracts example icon URL from example hash
57 58 59 |
# File 'lib/jsduck/examples.rb', line 57 def icon_url(example) example["icon"] end |