class JsDuck::Examples
Reads in examples JSON file
Public Class Methods
create(filename, opts)
click to toggle source
Creates Examples
object from filename.
# 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
new(filename, opts)
click to toggle source
Parses examples config file
# File lib/jsduck/examples.rb, line 19 def initialize(filename, opts) @groups = Util::Json.read(filename) @opts = opts fix_examples_data build_map_by_name end
Public Instance Methods
fix_examples_data()
click to toggle source
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
# 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)
click to toggle source
Extracts example icon URL from example hash
# File lib/jsduck/examples.rb, line 57 def icon_url(example) example["icon"] end